我们都知道redis是基于内存,单线程机制工作,查询速度快,效率高,一般在项目种常用来做缓存,但是具体的缓存策略是什么呢?

  1. 读且成功:用户从redis中读取数据,如果读取到了,直接使用
  2. 读且失败:如果用户没有从redis中读取到数据,则去数据库(一般是mysql)中读取数据,然后将数据存储到redis当作缓存
  3. 增删改:如果用户对数据进行增删改,先把数据存储到数据库,然后让redis中的缓存失效,切记,此时不需要设置缓存,因为缓存一般用于查询数据时,增删改一般没必要设置缓存

redis数据类型:redis是key+value存储,key永远是string,value是有五种数据类型

  1. string:单个数据,也是最简单最常用的
  2. list:存储string类型的链表
  3. set:结构和hash类似,但是只存储键,不存储值,且不可重复
  4. hash:value值存储的是类似于hashmap的值,每个键值对也是有key+value组成,redis中的一个key可以对应多个键值对
  5. zset:一般用于实时热点,会自动排序

redis持久化

  1. RDB:产生一个快照,在指定的时间间隔内,将内存中的数据以快照写入硬盘
  2. AOF:以日志形式记录每一次操作,服务器重启时,会读取该文件重建数据库,包装数据库数据是完整的

数据删除策略

  1. 定期删除:一段时间删除一次
  2. 定时删除:到达过期时间,就会删除
  3. 惰性删除:访问数据时,先判度是否过期,过期则删除,不过期则返回数据

redis淘汰策略

redis教程缓存 redis缓存方法_redis

redis教程缓存 redis缓存方法_redis_02