Redis是一种key-value的格式存储数据的NO-SQL非关系型数据库。
- Redis的数据类型
五种数据类型:String字符类型、Hash散列类型、List列表类型、Set集合类型、SortedSet或者叫zset有序集合类型。
- Redis常用命令
查看链接https://www.cnblogs.com/scorpio-cat/p/12777248.html
- Redis数据淘汰策略
(1)volatile-lru:从已设置过期时间的数据集中选最近最少使用的数据淘汰。
(2)volatile-ttl:从已设置过期时间的数据集中选要过期的数据淘汰。
(3)volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。
(4)allkeys-lru:从数据集中挑选最近最少使用的数据淘汰。
(5)allkeys-random:从数据集中任意选择数据淘汰。
(6)no-enviction:禁止驱逐数据。
在在redis.conf中配置
maxmemory-policy volatile-lru
- 怎么保证缓存中的数据和数据库中的数据库的一致性?
延时双删策略:就是先删除缓存key,再更新数据库数据;等待不会后,再尝试删除一下缓存key,防止整个过程中,出现还没更新完成,其他线程查询了改key并缓存了旧值的情况。
- Redis消息模式
(1)使用List类型的lpush和rpop实现消息队列。
rpush生产消息,lpop消费消息。当lpop没有消息的时候,要适当sleep一会再重试,但是在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如rabbitmq等。
(2)如果要实现生产一次消费多次,需要使用pub/sub发布订阅者模式,可以实现1:N的消息队列;要先订阅后发布消息,不然前期发布的数据接收不到。
订阅消息 subscibe my-channel
发布消息 publish my-channel "我是发布者,发布了一个消息,请查收"
- Redis在Spring项目中怎么使用
查看链接https://www.cnblogs.com/RunForLove/p/4903734.html
(1)pom.xml中配置依赖spring-data-redis、jedis。
(2)app-context-cache.xml,其中配置了ip地址,端口号,以及数据库的访问密码。
(3)使用RedisTemplate类操作,不同数据类型分别对应不同方法String->opsForValue(),List->opsForList(),Hash->opsForHash(),Zset->opsForZSet()。