你真的懂redis吗?

2017-01-10 10:07:34来源:作者:yubang的博客人点击

缓存

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

计数器

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

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

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

字符串操作

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

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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台