Redis——简单介绍

来源:互联网 发布:上海万户网络怎么样 编辑:程序博客网 时间:2024/06/01 21:29


一,简单介绍

 

  Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案。


  Redis从它的许多竞争继承来的三个主要特点:

  • Redis数据库完全在内存中,使用磁盘仅用于持久性。
  • 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。
  • Redis可以将数据复制到任意数量的从服务器。

  Redis 优势:

  • 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
  • 支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。
  • 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。
  • 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

 

二,适用场景

 

    1,取最新N个数据操作

                 比如典型的取你网站的最新文章,我们可以将最新的5000条评论的ID放在RedisList集合中,并将超出集合部分从数据库获取。

 

    2,排行榜应用

              这个需求与上面需求的不同之处在于,前面操作以时间为权重,这个是以某个条件为权重,比如按顶的次数排序,这时候就需要我们的sortedset出马了,将你要排序的值设置成sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。

 

    3,需要精准设定过期时间的应用

             比如你可以把上面说到的sortedset的score的值设置成过期时间的时间戳,那么就可以简单地通过过期时间排序,定时清除过期数据了,不仅是清除Redis中的过期数据,你完全可以把Redis里这个过期时间当成是数据库中数据的索引,用Redis来找出那些数据需要过期删除,然后再精准地从数据库中删除相应的记录。

 

   4,计数器应用

       Redis的命令都是原子性的,你可以轻松利用INCR,DECR命令来构建计数器系统。

 

   5uniq操作,获取某段时间所有数据排重值

       这个使用Redisset的数据结构最合适了,只需要不断地将数据往set中仍就行了,set为集合,所以会自动进行排序。

 

  6pub/sub构建实时消息系统

      Redispub/sub可以构建实时消息系统。

 


0 0