Redis 数据库一般应用场景
使用 Redis 进行开发也有一定时间了,在很多应用场景上,Redis 使用起来简直是无往不利,Redis 是个非常好用的工具!这里就介绍几个 Redis 非常常用的使用场景!
1.需要精准设定过期时间的应用,比如短信验证码倒计时
比如你可以设置一个键值的过期时间,对于 str 类型的只需要这么做
127.0.0.1:6379> add mobile:138******** 1234 ex 120 ok
该键名为 mobile:138********的值就只有 120 秒钟生命周期,120 秒后自动消失,
当然,想要知道它还有多长时间会消失只需要执行以下语句
127.0.0.1:6379> ttl mobile:138******** 87
ttl 语句会返回该键的生命周期,如果是永久的则返回-1,如果该键不存在则返回-2
2.计数器应用
Redis 的命令都是原子性的,你可以使用 incr 与 decr 命令来构建计数器系统。
3.数据排重操作,获取某段时间所有数据排重值
这个使用 Redis 的’集合’数据结构最合适了,只需要不断地将数据往 set 中扔就行了,set 意为集合,所以会自动排重。
4.实时统计系统
一样是使用 set,当用户每做一次操作就将操作 set 进一个集合中,一段时间之后就可以知道用户做过什么没有做过什么!
5.Pub/Sub 构建实时消息系统
这个大概是 redis 最炫酷的一个功能了,使用 Redis 可以制作一个最精简最有效的发布订阅系统,特别适合做在线聊天和消息推送系统
6.安全队列系统
利用 redis 的链表操作可以做一个安全的队列系统
127.0.0.1:6379> brpoplpush list1 list2 500
以上语句的意思是将 list1 中的值以从右边 pop 出来然后从左边 Push 进 list2 的链表中,超时时间为 500 秒,此操作为原子性操作.