阿里云

数据缓存之Reids

什么是Redis?在百度百科中给了如下定义:“Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API”。


Redis官网(国外):https://redis.io/,Redis官网(国内):http://www.redis.cn/;上述两处网址未给出链接,请自行访问。


Redis是一个高性能的key-value数据库, redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。


Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。


Redis在网络模型上是单线程的IO复用模型;在内存是采用现场申请内存的方式来存储数据,这样的方式会产生内存碎片,并且reids不会有优化内存分配;在数据存储方式上redis提供了多种方式,除了最基本key-value方式,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS;在客户端方面,redis支持三方平台,并且提供了多种开发语言端。


总结:

  1、Redis使用最佳方式是全部数据in-memory。

  2、Redis更多场景是作为Memcached的替代者来使用。

  3、当需要除key/value之外的更多数据类型支持时,使用Redis更合适。

  4、当存储的数据不能被剔除时,使用Redis更合适。


喜欢就点个赞吧