Redis的使用场景

1、缓存

应该是redis最常使用的场景,将系统经常需要用到但是不会经常改变的数据放入redis中,系统调用时候直接从缓存中获取,效率高并且减少数据库的负担

2、消息队列

可以使用消息队列中的list的数据类型,通过lpush和rpop等命令,实现类似消息队列的功能

3、分布式session

如果一个分布式系统用户状态是用session去维持的,则将平常保存在服务器端的session信息放入redis中,对请求进行拦截,获取session操作从redis中获取,这样redis中的一份session信息,可以被分布式部署的服务调用。例如spring-session+redis就是一种常见的分布式session解决方案。

4、分布式锁实现

redis的SETNX命令是SET IF NOT EXISTS的缩写,设置成功,返回 1 ,否则返回0。不考虑程序异常情况,当一个线程调用SETNX命令时,假如返回0,证明锁已经被其它占用。

5、其它

Set 可以实现交集、并集等操作,从而实现共同好友等功能。ZSet 可以实现有序性操作,从而实现排行榜等功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据缓存 Redis作为缓存层,加速读写和降低后端DB压力。这也是最常用的场景之一了。 不仅仅可以缓存热点数据,也...
    零一间阅读 318评论 0 0
  • 原理分析 最近看到好多博主都在推分布式锁,实现方式很多,基于db、redis、zookeeper。zookeepe...
    ongahong阅读 728评论 0 0
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,100评论 2 27
  • 遥望天际一抹青蓝 耳朵里塞着感伤的旋律 静静地躺在回忆的围城里 这里或是那里 你的哭 你的笑 都是我最珍贵的收藏 ...
    慕容文兮阅读 243评论 0 0
  • 今天晚上我和妈妈说,我想要只蝈蝈。 我提议从淘宝上买。 妈妈说如果从淘宝上买蝈蝈,蝈蝈就会憋死的。 妈妈说她建议让...
    为为的小世界阅读 254评论 0 2