redis高级特性
返回所有的key keys *
是否存在某个Key exists 存在返回1 不存在返回0
expire设置key过期时间 使用ttl查看剩余时间 persist取消过期时间
select 选择数据库 默认是0 默认16个数据库
randomkey 随机返回数据库里的一个key
rename 重命名key
move 将数当前数据中的key转移到其他数据库中
echo 打印命令
dbsize查看当前数据多少key
info 查看当前数据库信息
config get * 返回当前的一些配置
flushdb清空当前数据库
flushall清空所有数据库
redis设置密码
打开 redis.config文件中 找到 # requirepass foobared
设置 密码 xxxx requirepass xxxx即可
windows下
不放心都改吧。
然后启动
客户端链接后 输入 keys * 无权限
auth password 密码认证
或者 直接登录redis redis-cli.exe -h 127.0.0.1 -p 6379 -a admin -a 后面是密码
multi开启事务 exec 提交事务
开启事务 插入数据 然后关闭事务
测试事务提交完整性
对数字类型进行自增操作,字符串也进行自增操作,然后提交事务,发现字符串类型的报错,但是Int类型的数据提交从成功,redis事务不完整,所以在用代码进行提交事务的时候,需要确认代码会不会发生异常。
取消事务 discard
配置文件里面 有这个文件是redis用来持久化保存数据(默认)
redis持久化两种方式
一种是rdb方式 不能保证数据高可用,存在时间间隔 和key次数的影响。
一种是aof方式(类似于oracle日志方式 按照一定方式 在一定时间间隔内进行一次)
aof 设置 : 一般开发我们采用性能和数据可用折中的方式,也就是每秒写入磁盘一次
aof开启后 rdb会自动关闭
开启
打开 redis.conf 配置文件 中
将 appendonly no 改为 yes
还可以看到 默认是每秒刷一次磁盘,这里可以根据自己实际情况进行选择。
重启服务可以看到 保存数据的aof文件生成
存入一个数据test
可以看到数据刷进去
可以看到日志记录
订阅 a频道
发布 a频道
订阅到的数据