1.安全性
设置密码:设置redis.conf文件:vi /.../..../redis.conf。找到 # requirepass foobared 在下面加一样requirepass 123456
设置密码为123456 保存退出,需要重启redis进来后,进行命令操作显示没有权限,需要进行授权,输入命令 auth 123456(OK授权成功)
如果不想每次进来都要授权,在进来的时候加上 -a 123456(: /.../..../..../..../redis-cli -a 123456 )即可
2.主从复制
redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server(从)拥有和master server (主)相同的数据库副本
两个服务器redis配置好,(虚拟机上保持ip在同一网段ping通)(if conf ig eth0 192.168.11.11 修改ip地址)按照上面修改从服务器redis配置文件
完成连接后,主服务添加一个key,从服务器也能查看到,表示连接完成
主从完成后,怎么分别那个是主那个是从,输入:info ;找到role(角色 slave:从)
3.事务处理
开启事务,提交
例:get age (23);multi(OK 开启事务);set age 10(QUEUED 加入队列);set age 20(QUEUED 加入队列);exec(OK OK 按顺序执行两条 age赋值10,age赋值20);get age(20)
开启事务,取消
例:get age (23);multi(OK 开启事务);set age 10(QUEUED 加入队列);set age 20(QUEUED 加入队列);discard(OK 取消事务成功);get age(23)
注意:redis的事务很不成熟,mysql的事务,执行多条操作,一条错误就会回滚,但是redis不会
例:get age (23);get name (cj);multi(OK 开启事务);incr age (QUEUED 加入队列 给age自增);incr name(QUEUED 加入队列 给name自增,字符串自增是会报错的);exec(101,ERR; 第一条自增成功 101 ,第二条操作失败,错误,但是事务没有回滚);
乐观锁复杂事务控制
第一个人开启监测,事务。
第二个人直接修改age成功
第一个人修改age,提交事务,修改不成功,因为监测到age已经改变,就不能修改了。
版本控制一样,当A下载一个文件c(版本1),B下载了一个文件c(版本1),B修改文件c上传,版本库文件c版本为2,当A修改上传时,是不能提交的一样的道理,需要先更新到最新版2再修改提交。
4.持久化机制
快照模式
aof
修改配置文件 找到对应取消啊注释
修改后,重新从配置文件启动 redis。
pkill redis-server
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
登录后再进行修改写入操作会存入一个appendonly.aof文件存在我们写入的操作
5.发布及订阅消息
测试:开启多个session(用户 多putty进入同一个服务器的redis)
用户一:subscribe tv1(返回 subscribe tv1 1 监听1个)
用户二:subscribe tv1 tv2(返回 subscribe tv1 1 subscribe
tv2 2 监听2个)
用户三:publish tv1 cail(广播 tv1 消息) ( 2 返回 2 表示有2个正在监听 用户一 用户二)广播后
用户一收到消息:“message” ,“tv1”,"cail"
用户二收到消息:“message” ,“tv1”,"cail"
用户三:publish tv2 123(广播 tv2 消息) ( 1 返回 1 表示有1个正在监听 用户二)广播后
用户二收到消息:“message” ,“tv2”,"123"
6.虚拟内存的使用
按照下面修改一下配置文件
修改后,
pkill redis-server
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
如果有提示需要确定使用 VM,就加一句 really-use-vm yes 到redis.conf再次关闭重启登录即可