Redis基础应用
概述:Redis是一个开源的可基于内存亦可持久化的日志型、Key-Value数据库
redis的存储分为内存存储、磁盘存储和log文件三部分,配置文件中有三个参数对其进行配置
优势:和Memcached相比,它支持存储的value类型相对更多,包括strings、lists、sets、zsets(sorted set) 和hashed
Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步
运用:sina微博
官网:https://redis.io/ http://www.redis.cn/ http://www.redis.net.cn/
http://www.runoob.com/redis/redis-tutorial.html伯乐在线
http://blog.jobbole.com/tag/redis/
http://www.yiibai.com/redis/redis_quick_guide.html易百教程
http://www.runoob.com/redis/redis-tutorial.html 菜鸟教程
Redis服务器
服务器程序:redis-server
客户端程序:redis-cli
主配置文件:/etc/redis/redis_portnumber
源码安装Redis缓存服务
环境准备:装c环境 [root@Web1~]# yum -y install gcc gcc-c++ make
步骤一:安装Redis服务器
1)源码安装Redis软件
[root@Web1~]# tar -xzf redis-3.0.6.tar.gz
[root@Web1~]# cd redis-3.0.6
[root@Web1 redis-3.0.6]# make && make install
[root@Web1 redis-3.0.6]# ./utils/install_server.sh //初始化,一路回车即可
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379]//设置端口号,默认回车即可
Please select the redis config file name [/etc/redis/6379.conf]//配置文件
Please select the redis log file name [/var/log/redis_6379.log] //日志文件
Please select the data directory for this instance [/var/lib/redis/6379]
//数据目录
Please select the redis executable path [/usr/local/bin/redis-server]
//Redis服务器软件存储路径
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
//确认信息是否正确,回车确认即可
......
Installation successful!
[root@Web1~]# ls /etc/init.d/redis_6379 //查看启动脚本
2)启用Redis服务并查看监听端口状态
[root@Web1~]# /etc/init.d/redis_6379 restart
[root@Web1~]# netstat -nutlp |grep redis //端口号6379
步骤二:测试缓存数据库
1)使用redis-cli测试数据库
[root@Web1~]# redis-cli
127.0.0.1:6379> ping //测试服务器
PONG
127.0.0.1:6379> set test 123 //设置变量
OK
127.0.0.1:6379> get test //查看test值
"123"
127.0.0.1:6379> INCR mycounter //设置计数器mycounter
(integer) 1
127.0.0.1:6379> INCR mycounter //对计数器mycounter进行自增运算
(integer) 2
127.0.0.1:6379> DECR mycounter //对计数器mycounter进行自减运算
(integer) 1
127.0.0.1:6379> help set //对set命令查找帮助
2)压力测试 [root@Web1~]# redis-benchmark
数据库操作指令
String字符串:key=value
命令 |
描述说明 |
set key value [ex seconds] [px milliseconds] [nx/xx] |
设置Strings类型数据 > set string1 "hello the word" //设置字符串变量 > get string1 //查看字符串变量 设置key及值,过期时间可以设置为秒ex或毫秒px为单位 > set string2 "hello" ex 5 //设置字符串变量,并设置过期时间为5秒 nx只有key不存在,才对key进行操作[新建] xx只有key已存在,才对key进行操作[覆盖] > set string1 hello nx //仅当string1不存在时,才执行set指令 > set string1 hello xx //仅当string1存在时,才执行set指令 > get string1 //查看修改后string1的值 |
setrange key offset value |
从偏移量开始复写key的特定位的值 >set string1 “hello world” >setrange string1 6 "Redis" //从第6个字符开始替换string1的值,改写为hello Redis |
strlen key |
统计字串长度 > strlen string1 //计算string1的长度 |
append key value |
字符存在则追加,不存在则创建key及value > append string1 xxx //对string1进行追加操作 > append string1 " xxx" |
setbit key offset value |
对key(不存在,则创建新key)所存储字串,设置或清除特定偏移量上的位(bit)value值可以为1或0,offset为0~2^32之间 key不存在,则创建新key >setbit bit 0 1 >setbit bit 1 0 //bit:第0位为1,第1位为0 |
bitcount key [start][end] |
统计字串被设置为1的比特位数量 >setbit bits 0 1 //0001 >setbit bits 3 1 //1001 >bitcount bits //统计bits中1的个数结果为2 示例:记录网站用户上线频率,如用户A上线了多少天等类似的数据 如用户在某天上线,则使用setbit,以用户名为key,将网站上线日为offset,并在该offset上设置1,最后计算用户总上线次数时,使用bitcount用户名即可 这样,即使网站运行10年,每个用户仅占用10*365比特位即456字节即可 >setbit peter 100 1 //网站上线100天用户登录了一次 >setbit peter 105 1 //网站上线105天用户登录了一次 >bitcount peter |
getbit key value |
查看字串偏移量中value的值 > getbit string2 0 //查看string2第0位的值 |
decr key |
递减运算,将key中的值减1,key不存在则先初始化为0,再减1 >set test 10 //自定义变量初始值为10 >decr test //对自定义变量进行递减运算 >decr test 2 //对变量进行递减2运算 |
decrby key decrement |
递增数字运算,将key中的值,减去decrement >set count 100 >decrby count 20 |
get key
|
查看字符串变量 Ø 返回key所存储的字符串值 Ø 如果key不存在则返回特殊值nil Ø 如果key的值不是字串,则返回错误,get只能处理字串 > get string2 //查看字符串变量 //字符串过期后,查看该值为空 |
getrange key start end
|
返回字串值中的子字串,截取范围为start和end 负数偏移量表述从末尾计数,-1表示最后一个字符,-2表示倒数第二个字符 >set first “hello,the world” >getrange first -5 -1 //查看字串的倒数第5位至倒数第1位 >getrange first 0 4 //查看字串的第0至第4位 |
incr key |
递增运算,将key的值加1,如果key不存在,则初始为0后再加1 主要应用为计数器 >set page 20 //设置字符串变量为20 >incr page //对变量进行递增运算 >incr page 2 //对变量进行递增2运算 |
incrby key increment |
将key的值增加increment |
incrbyfloat key increment |
为key中所储存的值加上浮点数增量increment > set num 16.1 //设置浮点数变量 > incrbyfloat num 1.1 //对浮点数进行递增1.1运算 |
mget key [key...] |
一次获取一个或多个key的值,空格分隔,<具有原子性> mget name name1 |
mset key value [key value...] |
一次设置多个key及值,空格分隔,<具有原子性> mset a 1 b 1 |
getset key value |
获取key的值,并赋值key 例子:getset name xiaowu |
Hash表
Hash表简介:Redis hash是一个string类型的field和value的映射表
一个key可对应多个field,一个field对应一个value
将一个对象存储为hash类型,较于每个字段都存储成string类型更能节省内存
Hash表操作:hash{k=v k=v}
|
|
||||
hset key field value |
将hash表中field(列)值设置为value >hset site baidu ‘www.baidu.com’ //设置hash表hkey,baidu列的值为www.baidu.com |
||||
hget key filed |
获取hash表中field的值 > hget hkey baidu //查看hash表hkey中baidu列的值 |
||||
hmset key field value [field value...] |
同时给hash表中的多个field赋值 >hmset site googe www.g.cn baidu www.baidu.com //一次性设置hash表site的多个列与值 |
||||
hmget key field [field...] |
返回hash表中多个field的值 > hmget site google baidu 1) "www.g.cn" 2) "www.baidu.com" //一次性查看hash表site的多个列值 |
||||
hgetall key |
返回hash表中所有field的名称及值 > hgetall site //查看site表中所有的列与值 |
||||
hdel key field [field...] |
删除hash表中多个field的值,不存在则忽略 > hdel site google //删除site表中google列 > hgetall site //验证删除效果 |
||||
hkeys key |
返回hash表中所有field名称 >hkeys site //查看site表的所有列名称 |
||||
hvals key |
返回hash表中所有field的值 > hvals site //查看site表中所有列的值 |
List列表
Redis的list是一个字符队列,先进后出,一个key可以有多个值
与记录有关的信息,都是以list列表写入的(如:qq聊天记录;购物记录)
List列表操作: (桶)记录
命令 |
描述说明 |
lpush key value [value...] |
将一个或多个值value插入到列表key的表头,key不存在则创建key > lpush list1 a b c //创建列表并赋值 或> lpush list2 a //创建列表并赋值 > lpush list2 b //给列表追加新值 > lpush list2 c //给列表追加新值 |
lrange key start stop |
从开始位置读取key的值到stop结束 >lrange list 0 -1 //查看列表list1中的所有值 >lrange list 0 2 //从0位开始,读到2位为止 >lrange list 0 -2 //从开始读到倒数第2位值 |
lpop key |
移除并返回列表头元素数据,key不存在则返回nil >lpop list //移除并返回列表list头元素数据,可以多次执行,key不存在则返回nil |
llen key |
返回列表key的长度 |
lindex key index |
返回列表中第index个值 > lindex list 0 //返回list中第0个值 > lindex list 1 //返回list中第1个值 > lindex list -1 //返回list中最后1个值 > lindex list -2 //返回list中倒数第2个值 |
lset key index value |
将key中index位置的值修改为value > lset num 0 5 //给num第0位插入5(覆盖) > lset list 0 test //给list4的第0位插入值,值为test |
rpush key value [value...] |
将value插入到key的末尾 往key列表的尾部插入值 例子:rpush num 65 >rpush list3 a b c //list3值为a b c >rpush list3 d //末尾插入d |
lrem key ... |
删key中count个value值,count>0从前往后删n个test,count<0从后往前删n个,count=0删全部 |
lrem key n x |
从前往后删除key中的n个x值 >lrem num 2 2 //从前往后删除2个2 |
lrem key -n x |
从后往前删除key中的n个x值 例子:lrem num -2 2 //从后往前删除2个2 |
lrem key 0 x |
删除key中0(全部删除)个x值 >lrem num 0 2 //删除全部2值 |
其他操作指令
命令 |
描述说明 |
del key [key...] |
删除一个或多个key > set mykey "hello" //定义字符串变量 > get mykey //查看变量 > del mykey //删除变量 > get mykey //验证结果 |
expire key seconds |
设置key的生存周期,-1永不过期,-2过期 > set mykey "hello" //定义变量即值 > get mykey //查看有值 > expire mykey 10 //定义过期时间 > get mykey //10秒后查看,无值 |
persist key |
设置key永不过期 > set mykey "hello" //设置变量 > persist mykey //重新定义过期时间为,永久有效 > ttl mykey //永不过期 |
ttl key |
查看key的生存周期 > expire mykey 10 //定义过期时间 > ttl mykey //查看过期时间 > get mykey //过期后,查看mykey的值已经为空 |
keys匹配 |
找符合匹配条件的key,特殊符号用\屏蔽 >keys * //查看数据库下所有数据 >keys h?Llo //匹配单个字符 >keys h*llo //匹配0个到多个字符 >keys h[ae]llo //匹配其中任意一个字符 |
flushall |
清空所有数据 |
select id |
选择数据库,id用数字指定,默认数据库为0 ,最大15 > select 1 //进入1数据库,默认数据库为0 [1]> set test "test" //在数据库1中创建变量 |
move key id |
将当前数据库的key移动到其他数据库中 > move mykey 1 //将数据库0中的mykey变量移动至数据库1 |
rename key newkey |
给key改名为newkey,newkey存在时,则覆盖其值 仅当newkey不存在时,才将key改名为newkey 例:renamenx a b |
sort key |
对key进行排序(默认升序,从低到高):sort key 降序:sort key desc 对key排序并保存为key1:sort key store key1 例子:sort num store num1 对字符排序:sort key alpha 排序后提取数据0-3位数据:sort key [alpha] limit 0 3 [desc] 对key排序并保存为cost:sort key STORE cost |
exists key |
测试一个key是否存在,返回1存在,0不存在 |
type key |
返回key的数据类型(String/hash/list) |
Redis 键(key) 命令
命令 |
描述 |
该命令用于在 key 存在是删除 key。 |
|
序列化给定 key ,并返回被序列化的值。 |
|
检查给定 key 是否存在。 |
|
seconds 为给定 key 设置过期时间。 |
|
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。 |
|
设置 key 的过期时间亿以毫秒计。 |
|
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计 |
|
查找所有符合给定模式( pattern)的 key 。 |
|
将当前数据库的 key 移动到给定的数据库 db 当中。 |
|
移除 key 的过期时间,key 将持久保持。 |
|
以毫秒为单位返回 key 的剩余的过期时间。 |
|
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。 |
|
从当前数据库中随机返回一个 key 。 |
|
修改 key 的名称 |
|
仅当 newkey 不存在时,将 key 改名为 newkey 。 |
|
返回 key 所储存的值的类型。 |
Redis 字符串(String) 命令
命令 |
描述 |
设置指定 key 的值 |
|
获取指定 key 的值。 |
|
返回 key 中字符串值的子字符 |
|
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。 |
|
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。 |
|
获取所有(一个或多个)给定 key 的值。 |
|
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。 |
|
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。 |
|
只有在 key 不存在时设置 key 的值。 |
|
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。 |
|
返回 key 所储存的字符串值的长度。 |
|
同时设置一个或多个 key-value 对。 |
|
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。 |
|
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。 |
|
将 key 中储存的数字值增一。 |
|
将 key 所储存的值加上给定的增量值(increment) 。 |
|
将 key 所储存的值加上给定的浮点增量值(increment) 。 |
|
将 key 中储存的数字值减一。 |
|
key 所储存的值减去给定的减量值(decrement) 。 |
|
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 |
Redis 哈希(Hash) 命令
命令 |
描述 |
删除一个或多个哈希表字段 |
|
查看哈希表 key 中,指定的字段是否存在。 |
|
获取存储在哈希表中指定字段的值/td> |
|
获取在哈希表中指定 key 的所有字段和值 |
|
为哈希表 key 中的指定字段的整数值加上增量 increment 。 |
|
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 |
|
获取所有哈希表中的字段 |
|
获取哈希表中字段的数量 |
|
获取所有给定字段的值 |
|
同时将多个 field-value (域-值)对设置到哈希表 key 中。 |
|
将哈希表 key 中的字段 field 的值设为 value 。 |
|
只有在字段 field 不存在时,设置哈希表字段的值。 |
|
获取哈希表中所有值 |
Redis 列表(List) 命令
命令 |
描述 |
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 |
|
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 |
|
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 |
|
通过索引获取列表中的元素 |
|
在列表的元素前或者后插入元素 |
|
获取列表长度 |
|
移出并获取列表的第一个元素 |
|
将一个或多个值插入到列表头部 |
|
将一个或多个值插入到已存在的列表头部 |
|
获取列表指定范围内的元素 |
|
移除列表元素 |
|
通过索引设置列表元素的值 |
|
对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 |
|
移除并获取列表最后一个元素 |
|
移除列表的最后一个元素,并将该元素添加到另一个列表并返回 |
|
在列表中添加一个或多个值 |
|
为已存在的列表添加值 |
Redis 集合(Set) 命令
命令 |
描述 |
向集合添加一个或多个成员 |
|
获取集合的成员数 |
|
返回给定所有集合的差集 |
|
返回给定所有集合的差集并存储在 destination 中 |
|
返回给定所有集合的交集 |
|
返回给定所有集合的交集并存储在 destination 中 |
|
判断 member 元素是否是集合 key 的成员 |
|
返回集合中的所有成员 |
|
将 member 元素从 source 集合移动到 destination 集合 |
|
移除并返回集合中的一个随机元素 |
|
返回集合中一个或多个随机数 |
|
移除集合中一个或多个成员 |
|
返回所有给定集合的并集 |
|
所有给定集合的并集存储在 destination 集合中 |
|
迭代集合中的元素 |
Redis 有序集合(sorted set) 命令
命令 |
描述 |
向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
|
获取有序集合的成员数 |
|
计算在有序集合中指定区间分数的成员数 |
|
有序集合中对指定成员的分数加上增量 increment |
|
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中 |
|
在有序集合中计算指定字典区间内成员数量 |
|
通过索引区间返回有序集合成指定区间内的成员 |
|
通过字典区间返回有序集合的成员 |
|
通过分数返回有序集合指定区间内的成员 |
|
返回有序集合中指定成员的索引 |
|
移除有序集合中的一个或多个成员 |
|
移除有序集合中给定的字典区间的所有成员 |
|
移除有序集合中给定的排名区间的所有成员 |
|
移除有序集合中给定的分数区间的所有成员 |
|
返回有序集中指定区间内的成员,通过索引,分数从高到底 |
|
返回有序集中指定分数区间内的成员,分数从高到低排序 |
|
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 |
|
返回有序集中,成员的分数值 |
|
计算给定的一个或多个有序集的并集,并存储在新的 key 中 |
|
迭代有序集合中的元素(包括元素成员和元素分值) |
Redis HyperLogLog 命令
命令 |
描述 |
添加指定元素到 HyperLogLog 中。 |
|
返回给定 HyperLogLog 的基数估算值。 |
|
将多个 HyperLogLog 合并为一个 HyperLogLog |
Redis 发布订阅 命令
命令 |
描述 |
订阅一个或多个符合给定模式的频道。 |
|
查看订阅与发布系统状态。 |
|
将信息发送到指定的频道。 |
|
退订所有给定模式的频道。 |
|
订阅给定的一个或多个频道的信息。 |
|
指退订给定的频道。 |
Redis 事务 命令
命令 |
描述 |
取消事务,放弃执行事务块内的所有命令。 |
|
执行所有事务块内的命令。 |
|
标记一个事务块的开始。 |
|
取消 WATCH 命令对所有 key 的监视。 |
|
监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。 |
Redis 脚本 命令
命令 |
描述 |
执行 Lua 脚本。 |
|
执行 Lua 脚本。 |
|
查看指定的脚本是否已经被保存在缓存当中。 |
|
从脚本缓存中移除所有脚本。 |
|
杀死当前正在运行的 Lua 脚本。 |
|
将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。 |
Redis 连接 命令
命令 |
描述 |
验证密码是否正确 |
|
打印字符串 |
|
查看服务是否运行 |
|
关闭当前连接 |
|
切换到指定的数据库 |
Redis 服务器 命令
命令 |
描述 |
异步执行一个 AOF(AppendOnly File) 文件重写操作 |
|
在后台异步保存当前数据库的数据到磁盘 |
|
关闭客户端连接 |
|
获取连接到服务器的客户端连接列表 |
|
获取连接的名称 |
|
在指定时间内终止运行来自客户端的命令 |
|
设置当前连接的名称 |
|
获取集群节点的映射数组 |
|
获取 Redis 命令详情数组 |
|
获取 Redis 命令总数 |
|
获取给定命令的所有键 |
|
返回当前服务器时间 |
|
获取指定 Redis 命令描述的数组 |
|
获取指定配置参数的值 |
|
对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写 |
|
修改 redis 配置参数,无需重启 |
|
重置 INFO 命令中的某些统计数据 |
|
返回当前数据库的 key 的数量 |
|
获取 key 的调试信息 |
|
让 Redis 服务崩溃 |
|
删除所有数据库的所有key |
|
删除当前数据库的所有key |
|
获取 Redis 服务器的各种信息和统计数值 |
|
返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示 |
|
实时打印出 Redis 服务器接收到的命令,调试用 |
|
返回主从实例所属的角色 |
|
异步保存数据到硬盘 |
|
异步保存数据到硬盘,并关闭服务器 |
|
将当前服务器转变为指定服务器的从属服务器(slave server) |
|
管理 redis 的慢日志 |
|
用于复制功能(replication)的内部命令 |
http://www.redis.net.cn/order/
服务器设置
配置文件解析
# vim /etc/redis/6379.conf
maxmemory <bytes> (454行) //最大内存
maxmemory-policy volatile-lru //内存满时,使用LRU算法清理旧数据
daemonize yes (43行) //守护进程
pidfile /var/run/redis_6379.pid (47行) //进程PID
port 6379 (51行) //端口号
timeout 300 (80行) //连接超时时间
loglevel notice (104行) //日志级别
logfile /var/log/redis_6379.log (109行) //日志文件
databases 16 (124行) //数据库个数
save 900 1 //如果900秒内有1个key变化则镜像备份
save 300 10 //如果300秒内有10个keys变化则镜像备份
save 60 10000 //如果60秒内有10000个keys变化则镜像备份
//规则与规则之间不干扰,互相独立
save <seconds> <changes> (148行) //**数据库镜像同步的频率**
dbfilename dump.rdb (183行) //镜像备份文件名
dir /var/lib/redis/6379 (193行) //备份文件路径
slaveof <masterip> <masterport> (211行) //设置主服务器IP及端口,主动与主服务器同步数据
masterauth <master-password> (218行) //主从认证的密码
requirepass foobared (397行) //客户端连接服务器后需要先输入密码,再做其他操作
maxclients 10000 (429行) //最大客户端并发连接数量
maxmemory <bytes> (454行) //最大内存使用量
Redis主从服务器拓扑
Ø 主服务器数据自动同步到从服务器
Ø 通过软件或代码可以实现读写分离功能
配置Redis主从服务器
步骤一:配置主从服务器设置
1)主服务器安装Redis
装c环境yum -y install gcc gcc-c++ make
[root@Web1~]# tar -xzf redis-3.0.6.tar.gz
[root@Web1~]# cd redis-3.0.6
[root@Web1 redis-3.0.6]# make && make install
[root@Web1 redis-3.0.6]# cd utils/
[root@Web1 utils]##./install_server.sh //一路回车
2)从服务器安装Redis
装c环境yum -y install gcc gcc-c++ make
[root@Web2~]# tar -xzf redis-3.0.6.tar.gz
[root@Web2~]# cd redis-3.0.6
[root@Web2 redis-3.0.6]# make && make installl
[root@Web2 redis-3.0.6]# cd utils/
[root@Web2 utils]# ./install_server.sh //一路回车
步骤二:配置主从服务器设置
1)修改主服务器/etc/redis/6379.conf配置文件
[root@Web1~]# vim /etc/redis/6379.conf
requirepass redis123 //(397行密码行)设置服务器密码
** 此时# /etc/init.d/redis_6379 restart //成功
** # /etc/init.d/redis_6379 restart //失败
**可修改启动脚本:vim /etc/init.d/redis_6379
** (43行)$CLIEXEC -a 密码 -p $REDISPORT shutdown
2)修改主服务器的启动脚本,添加服务器密码
[root@Web1~]# vim /etc/init.d/redis_6379
$CLIEXEC –a redis123 -p $REDISPORT shutdown
[root@Web1~]# /etc/init.d/redis_6379 restart //重启服务,成功
3)修改从服务器/etc/redis/6379.conf配置文件
[root@Web2~]# vim /etc/redis/6379.conf
slaveof 192.168.2.100 6379(211行) **去掉注释并修改
masterauth redis123(218行) **去掉注释并修改
[root@Web2~]# /etc/init.d/redis_6379 restart
步骤三:验证效果
1) 主服务器操作
[root@Web1~]# redis-cli –h 192.168.2.100 –a redis123 //登录主服务器设置数据
192.168.4.10:6379> set test 123456
2) 从服务器操作
[root@Web2~]# redis-cli –h 192.168.2.200
192.168.4.20:6379> get test //登录主服务器查看数据同步效果“123456”
测试Redis性能:redis-benchmark命令——可以模拟海量并发