除了运行于内存,便捷高效的特点之外,redis还有什么功能可以在实际工作中运用?

redis的应用场景

  • 缓存
  • 利用redis的字符串类型完成手机验证码存储、生成订单、认证之后的token信息(时效性)
  • 分布式系统中的Session共享
  • 分布式锁
  • zset类型实现排行榜

持久化操作

持久化的2种方式

1.快照

默认开启的方式,保存为dump.rdb格式,因此快照方式也被称为RDB格式。
方法:
①命令行:BGSAVE
redis.conf文件中配置save选项,save 900 1 —表示900秒内如果有1次redis内容更新,则保存一次快照

2.AOF(将所有redis写命令记录到日记)

打开的方法:redis.conf文件中的appendonly no修改为yes
频率设置:appendfsync everysec(推荐)慎用always

AOF虽然能将数据较为完整的保存,最多造成1秒的数据丢失,但是也会面临系统运行时间长导致的AOF文件体积变大的问题,所以redis还提供了AOF重写机制。目的:减小AOF文件体积。
重写原理:将整个内存中的数据用命令的方式重写了一个新的AOF文件,替换旧的AOF文件

操作方法:
①命令行:BGREWRITEAOF
redis.conf文件配置:

  1. # 当aof文件达到上次重写后的100%时(一倍),会进行再次重写
  2. auto-aof-rewrite-percentage 100
  3. # 表示最小重写体积为64MB,当aof文件达到64MB时会进行重写
  4. auto-aof-rewrite-min-size 64mb
  5. # 例如
  6. # 第一次达到64MB时进行重写,重写后为20MB,之后达到40MB时,再次触发重写···

Lua脚本高并发限流