默认是不是加的注释啊,这里写上lijie
requirepass lamplijie
我的lamplijie就是咱们的redis密码
保存退出,修改完配置文件以后咱们需要干嘛,咱们需要重启咱们的服务吧,
pkill redis-server
删除完以后来在,咱们启动,
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
启动完以后来看咱们的进入啊,
/usr/local/redis/bin/redis-cli
o(︶︿︶)o 唉同学们可能会奇怪,为什么能进来呢,我没有输入用户名密码吧,
这个时候我来输入下命令啊,看一下能不能运行,
keys *
(error) ERR operation not permitted
这个时候咱们就可以看到有一个操作被拒绝的错误提示,操作被禁止,也就是说咱们没有权限,
那这里咱们怎么办,他这里咱们有一个授权的方法,
咱们叫做 auth ,输入咱们的密码叫做lamplijie
auth lamplijie
OK
对吧,是咱们刚才设置的密码吧,那么好吧,咱们授权,授权这里会返回一个OK,
返回OK代表什么授权成功,授权成功以后我再keys
keys *
1) "name"
这个时候咱们是不是显示了啊,
命令是不是执行成功啊,这是不是咱们的一种授权方式吧,
如果我不想,每次进来都输入一次auth,那怎么办,咱们登录的时候就直接给他输入密码,
exit
咱们退出来
退出来以后咱们同样进入
/usr/local/redis/bin/redis-cli -a lamplijie
我后面跟上一个a指定咱们的密码,叫做lamplijie,
这里-a代表输入咱们的密码,进入以后我直接
keys *
1) "name"
是不是咱们不需要在授权了啊,也就是说咱们授权有两种方式,
一种方式是进来以后直接用auth命令授权,
另一种方式是直接登录授权,
这是咱们的两种授权方式啊,
这是咱们的安全性,接下来看一下咱们redis比较重要的一个功能,
主从复制
redis的主从复制配置和使用都非常简单。比咱们的mysql要简单很多,
通过主从复制呢,可以允许多个从服务器(slave server)拥有和主服务器(master server)
相同的数据库副本。
也就是说咱们的从服务器可以从咱们的主服务器把数据库复制过来,
这就达到了一个主从复制,
来看一下咱们的主从复制有什么样的特点,
Redis主从复制的特点:
1.Master可以拥有多个slave,首先从机一定要与咱们的主机相连吧,
2.多个slave可以链接同一个master外,还可以链接到其他的slave,还可以连接到其他的master
其他的slave
3.主从复制不会阻塞master,在同步数据是,master可以举行处理咱们的client的请求。
也就是说在咱们的master和咱们的slave同步数据的时候,他不影响我再往里面写数据,
那为什么其他的slave跟另一个slave相连呢,这个是为了什么啊,为了比如说,我当前这台master
突然有一天出现问题了,down掉了,那其他机器是不是就无法同步了呢,
为了避免这个现象出现,咱们在链接一个slave,当Master宕机以后咱们这个slave立马作为主机,
立马转换角色,变成主机,这是咱们的一个心跳感应,当这个主机断掉以后,这个立马变成主机,
好,这是咱们的一个主从复制的特点,还可以什么提高咱们系统的伸缩性,
来看,那个具体的一个过程呢,
比如说,一台主机,一台从机,
当我的主机想我的从机,请求同步命令的时候,
此时咱们的master主机会再开启一个后台进程,干嘛啊,把他当前的数据库,
备份到一个文件里面,这里这个时候再往里面进入的写的命令呢,
咱们也不影响,两个进程同时进行不影响,比如说这个时候又有插入了吧,
比如用sadd又往里面插入了一个键,都不影响,我这里还在执行插入,
这里在备份数据库,这里备份成功,以后,我将这个文件发送给咱们的slave,
发送完毕以后我slave把这个文件保存到咱们的硬盘上面,保存到自己的硬盘上以后干嘛,
启动的时候他会找这个文件,我把这个文件里面的数据库给映射到我本地的数据库,
这样就可以达到咱们的主从同步,主从复制同步吧,
Redis主从复制过程,
1.当Slave向咱们的master建立连接,发送sync同步请求命令。
2. Master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程,会开始
收集新的写命令,并缓存。
两边是不影响的吧,
3.当后天保存这个文件成功以后,将此文件发送给咱们的slave从机
4.然后从机呢将此文件保存到硬盘上。
保存到硬盘上面是不是就拿到咱们主机的数据库啦,拿到主机的数据库后,咱们是不是就
可以同步成功了,这样就完成了咱们的主从复制,
那怎么样来配置呢,
配置主从服务器:
配置咱们从服务器很简单,只需要在从的配置文件中加入以下配置。
先把slaveof这个注释项目打开,然后填写咱们的主机ip地址,主机的端口,
如果说主机加了密码,
咱们需要打开咱们的masterauth主机授权,并且输入主机的口令,
关机一下,咱们把这台机器给他clone克隆一下,重命名下这个机器叫Redis_master
好关闭Redis_master成功
Redis_master右键---Manage---Clone...
下一步,。。。
克隆出来一台,咱们来给他重命名一下,叫做Redis_slave
Redis_slave呢,现在咱们把两台机器同时启动,
咱们一会儿来做呢,就以Redis_Master作为主机,
然后以Redis_slave来做从机,
主机呢,咱们不需要怎么配置,只需要在咱们的从机上面进行一个配置,
配置咱们的slaveof然后再配置咱们的masterauth 。
就可以进行主从复制,一会就来做一下看他启动成功了吗
好咱们的主从都已经启动成功了,
来首先看一下咱们的主,
linux登录
localhost login:root
Password:
先看一下咱们的ip地址,
ifconfig eth0
咱们主机的ip地址是192.168.88.89
再看一下咱们的slave
ifconfig eth0
因为我由于是刻录过来的,是咱们克隆过来的吧,
ip地址这里怎么编程172啦,
咱们修改一下啊,把他改成同一网段的,
ifconfig eth0 192.168.88.90
给他临时改一下,这个时候再来查看
已经修改成功,88.90
ping一下咱们的主机,看通不通,
ping 192.168.88.89
好这里有返回数据吧,表示已经连通了,
两台主机已经连通了,
连通以后,咱们的主机,先启动咱们的redis
/usr/local/redis/bin/redis-server /user/local/redis/etc/redis.conf
启动以后进入到咱们的客户端,
/usr/local/redis/bin/redis-cli
启动过redis客户端后,我看一下
keys *
(error) ERR operation not permitted
启动以后是不是需要授权,
auth lamplijie
OK
授权成功以后来
keys
1) "name"
是不是只有name对吧,
咱们把他都情况啊,
flushall
OK
flushall把所有的数据库都清空掉,为了咱们做实验啊,
keys *
(empty list or set)
我这里再keys是不是都没有了啊,
我这个时候来配置咱们的从机,Redis_slave,
注意咱们的第一步是,是不是配置咱们的配置文件,
vi /usr/local/redis/etc/redis.conf
第一步打开咱们的
/slaveof
找到了
slaveof的第一个参数是masterip主机ip,第二个参数是主机的端口,
好咱们复制一份儿,
slaveof 192.168.88.89 6379
是咱们的ip地址跟端口吧,注意这个88.89是咱们的主机的ip地址,
然后再找masterauth
masterauth lamplijie
保存退出,
好这个时候在启动,
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
启动以后咱们登录啊,
/usr/local/redis/bin/redis-cli -a lamplijie
是不是我得登录本地,得~
进来以后,我
keys *
(empty list or set)
然后再回到在主机那儿,往里面写,
set age 20
OK
keys *
1) "age"
是不是有一个age啦,有age以后咱们
get age
"20"
get age一下是不是20啊,
好再看咱们的从服务器
keys *
1) "age"
是不是有了age啦,代表咱们的从机和咱们的主机是不是同步成功啊,
get age
"20"
是不是20,是不是在主机设置的20。
也就是说此时此刻代表咱们的主从复制成功,
那有些同学会问,那这样子的情况下,我怎么知道谁是主,谁是从啊,
可以用info命令看咱们的,是查看服务器的相关命令,
这里有一个role角色,咱们当前角色是不是从啊,slave吧。
当前角色是从啊,
master_link_status什么意思
也就是说我链接主机的状态为正在连接,对吧已经连接成功吧,
再来看这个主机,咱们再来info一下,
slave0这个从机当前是在线的,
也就是说当前的Redis_slave正连接着咱们的master
这就是咱们完成了主从复制,非常非常简单吧,
大家需要知道两点,第一点需要在咱们的从机上面配置咱们的slaveof
并且这个ip地址是主机的Redis_master的ip地址,
第二点要配置咱们主机的授权口令,
如果说中间有一点没有配置成功,下面的主从复制,是不成功的,
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- Redis数据类型和常用命令
Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具
redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...
- VMWare12安装CentOS7以及redis安装和常用命令
一.vmware安装centos7后没有网卡 VMWare 12版本不提供32位安装程序,只有64位安装程序,如果在安装CentOS时,选择的是CentOS而不是CentOS 64位,则会出现Cent ...
- redis数据类型及常用命令介绍(图文实例)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
随机推荐
- 7款个性化jQuery/HTML5地图插件
现在我们经常会用到一些地图应用,无论是在网页上还是手机App中,地图貌似是一个不可或缺的应用.本文将带领大家一起来看看一些基于jQuery和HTML5的个性化地图插件,有几款地图比较实用,有些则是具有 ...
- C++将类的构造函数、析构函数声明为private或者protected的用途
如果将构造函数.析构函数声明为private或者protected,表示不能从类的外部正常调用构造和析构函数了. 这种用法的通常使用的场景如下: 1.如果不想让外面的用户直接构造一个类A的对象,而希望 ...
- [GeekBand] C++ 高级编程技术 (1)
一.类型转换 class Fraction { public: explicit Fraction(int num, int den=1) : m_numerator(num), m_denomina ...
- HDU 2571
设 d[ i ][ j ] 表示走到坐标为(i, j)的格子时最大的幸运值.初始化:dp[i][j]的第0行和第0列初始化为负的无穷大... #include <stdio.h> #inc ...
- EF6数据迁移
当Moldes发生改变时 会提示数据上下文的模型已在数据库创建后发生改变,则需要重建数据库并数据迁移 在NuGet程序包管理控制台输入enable-migrations启用数据迁移 之后会提示&quo ...
- Android listview viewpager解决冲突 滑动
Android listview viewpager滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 在listview 上使用 addHeaderView 在第 ...
- laravel--为什么属性在模型中没有定义,却取出来了值,这些属性哪里来的
看laravel模型中的这段代码, public function getLimitUsersAttribute() { return $this->user_limit - $this-> ...
- Sending Email from mailx Command in Linux Using Gmail’s SMTP
The mailx or mail command in Linux is still providing service for guys like me, especially when we n ...
- perl中shift 和unshift 操作
##################################################################### unshift 和shift 对一个数组的开头进行操作(数组 ...
- 【UIScrollView】基本方法+基本描述
scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(, , , )]; scrollView.backgroundColor = [ ...