Redis高级命令

keys *  (可以进行模糊匹配,例如:list*)    返回满足的所有key

exists   是否存在指定的key

expire   设置某个key的过期时间,使用ttl 查看剩余时间

persist 取消过期时间

select 数据库的索引    数据库的索引是0到15  默认的就是索引为0的数据库

move key 数据库的索引   移动key到其他数据库

randomkey  随机返回数的一个key

rename   重命名key

echo 打印命令

dbsize  查看当前数据库的key数量

info  获取数据库信息

config get 返回相关配置信息    config get * 返回所有的配置,就是返回redis.conf中的配置信息

flushdb  清空当前数据库   flushall 清空所有数据库

redis事务

multi开启事务

exec执行事务

redis中的事务还是不太完善,从上面的执行结果就可以看出

redis持久化机制

redis是一个支持持久化的内存数据库,也就是说redis需要将内存中的数据同步到硬盘来保存持久化。

redis持久化的两种方式:

1.snapshotting(快照)默认方式,将内存中以快照的方式写入二进制文件中,默认是dump.rdb,可以通过配置设置自动做快照持久化的方式。我们可以配置redis在n秒内如果超过m个key修改就自动做快照。

snapshotting设置:

save 900 1 #900秒内如果超过1个key被修改,则发起快照保存

save 300 10 #300秒内如果超过10个key被修改,则发起快照保存

save 60 1000

这种方式对实时性要求不高,可能会存在数据丢失,在生产环境一定不能用这种方式

2.append-only file(缩写aof) 的方式(有点类似于oracle日志)由于快照方式是在一定时间间隔做一次,所以可能发生redis意外down的情况就会丢失最后一次快照的所有修改的数据、aof比快照方式有更好的持久化性,是由于在使用aof时,redis会将每一个收到的写命令都通过write函数追加到命令中,当redis重新启动时会重新执行文件中保存的写命令来在内存中重建这个数据库的内容,这个文件在bin目录下:appendonly.aof。aof不是立即写到磁盘上,可以通过配置文件修改强制写到磁盘中。

aof设置:

appendonly  yes   //启动aif持久化方式有三种修改方式

1.appendfsync always //收到写命令就立即写入磁盘,效率最慢,但是保证完全的持久化(在生产环境中使用这种方式)

2.appendfsync everysec //每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中

3.appendfsync no //完全依赖os  性能最好,持久化没保证

appendonly yes 开启aof

appendfilename ""   保存快照的文件名,保存路径是redis.conf中dir的值

appendfsync always   收到写命令就立即写入磁盘

发布与订阅消息

使用subscribe 【频道】进行订阅监听

使用publish 【频道】【发布内容】进行发布消息广播

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值