你真的懂redis吗?

作者: yubang | 来源:发表于2017-01-04 01:42 被阅读732次
缓存

我相信大部分互联网应用都是用redis作为缓存的,因为相对于memcached来说,redis的kv结构效率区别不大,并且还有hash这种方便的结构,并且redis还有持久化的能力,可以防止重启机器导致的数据丢失而造成数据击穿问题。

计数器

例如记录文章的点击数,用户每次访问文章就自增一。然后还可以利用自减操作来判断库存问题。由于是原子性操作,可以避免并发问题,而且性能很好。

队列
  • 用做消息队列,在要求不高的情况下可以替代rabbitmq等消息中间件
  • 由于redis把数据添加到队列是返回添加元素在队列的第几位,所以可以做判断用户是第几个访问这种业务
  • 队列不仅可以把并发请求变成串行,并且还可以做队列或者栈使用
集合
  • 可以保存一堆预生成的随机数
  • 可以避免一些操作重复调用,因为加入集合的操作是返回true或者false
发布和订阅

这种特性类似于广播,对于一些不用查看历史记录的业务,可以利用这个特性实现类似于聊天室或者系统消息等业务。

字符串操作

这个数据结构,对于普通应用,使用不高,但是对于大数据和节省空间的场合还是比较常用的,特别是位操作。

其它
  1. hash结构的数据有效期只能在最外层的key来设置失效时间。
  2. redis的队列支持没数据的时候阻塞获取请求直到有数据(这是对于拉取任务的队列是一个很好的特性)
  3. redis还支持事物,对于数据准确性很高的场合非常友好。
  4. redis不要开放外网访问权限,如果实在需要开启请注意设置密码。

相关文章

  • 你真的懂redis吗?

    缓存 我相信大部分互联网应用都是用redis作为缓存的,因为相对于memcached来说,redis的kv结构效率...

  • 你真的懂Redis事务吗?

    MULTI、EXEC、DISCARD和WATCH是 Redis 事务的基础。 事务可以一次执行多个命令, 并且带有...

  • 懂?

    我们真的懂父母吗?不懂;我们真的懂孩子吗?不懂;我们真的懂自己吗?不懂;那我们懂谁呢? 我们总是感觉自...

  • 你真的懂老婆吗?你真的懂老公吗?

    老婆:“老公,我今天好难受……” 老公:“你又怎么了?” 老婆:“我今天又被老板骂了。和上次的原因一样。” 老公:...

  • 你真的懂老婆吗?你真的懂老公吗?

    老婆:“老公,我今天好难受……” 老公:“你又怎么了?” 老婆:“我今天又被老板骂了。和上次的原因一样。” 老公:...

  • 你真的懂this吗?

    首先,我们为什么要学js? 1, this使用频率很高,如果我们不懂this,那么在看别人的代码或者是源码的时候,...

  • 你真的懂this吗?

    this关键字是JavaScript中最复杂的机制之一,是一个特别的关键字,被自动定义在所有函数的作用域中,但是相...

  • 你真的“懂”吗?

    当爱情的火熄灭,当激情消失,当心跳恢复平静,摆在两个人面前的是如何相处,如何维持爱的温度。特别推荐赵永久,资深婚姻...

  • 改变不了坏习惯,只因你并不懂它

    习惯人人有,但你真的懂它吗。相信吗,你能改变任何坏习惯,只要你真的懂它。 我都不问你,你想改掉什么习惯。 因为,不...

  • 喜欢与爱情

    你爱我吗? 我爱你呀傻瓜! 你懂爱吗? 爱不就是喜欢,最美妙的感觉 你真的懂爱情吗? 奋不...

网友评论

    本文标题:你真的懂redis吗?

    本文链接:https://www.haomeiwen.com/subject/reqovttx.html