Redis的其他操作
其他shell
keys pattern查询匹配的key
exists key查询是否存在key
del key删除一个key
expire key time 设置已存在的键的过期时间
select 0 选择数据库0一共是0-15这些数据库,默认是0数据库
move key 1 将key移动到数据库1中
persist key 移除已经设置了的过期时间
rename key1 key2 将key1重命名为key2
type key 查看key的数据类型
dbsize 显示本数据库下的键的个数
flushdb 清空当前数据库
常用的针对于所有数据类型的shell操作,如检查key是否存在,移除key,清空整个数据库等
安全性
设置密码:配置文件中找到requirepass 取消注释然后添加密码到这个地方,重新启动.
登录的时候用auth xxxx然后就可以操作了
分布式
主从模式:
主机不需要配置,从机调整配置文件slaveof部分来指定主服务器的ip和端口,masterauth xxx指定主机密码,没有则忽略
事务
multi开始事务 exec顺序执行全部 discard取消事务,事务回滚
但是事务的执行有缺陷,就是出错的时候不会回滚,只执行正确的地方,错误的就不管了。
只能通过discard进行回滚,未能捕捉执行过程中的错误,这是一个缺陷。因而只能执行简单的事务。
watch key监视key,监视过程中有其他终端进行了修改这个key,那么本终端是无法对key进行修改操作,watch只能通过unwatchdiscard进行撤销
redis的事务是鸡肋般的存在,少用!
持久化
快照方式(默认):有个900s超过一次修改会保存一次,300s超过10次,60s超过10000次都会保存。
但是问题在于在这个间隔内宕机了就会丢掉数据。
aof方式,则是每次修改进行一次保存,修改配置文件appendonly 改为yes,然后修改appendfsync的参数有三种选择,立即,1s和no,aof文件存储的是操作不是数据本身。