Redis 预研分册.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Redis 预研分册

概述 简介 Redis(远程字典服务)是一个开源的key-value存储系统,采用C语言编写,支持网络交互。 为了取得突出的性能,Redis数据集在内存中工作。如果想持久化保存数据可以时常转储数据集到磁盘上,或者添加每一条命令到日志。 Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步。第一次同步的时候是非阻塞的并且非常快,网络断开的时候自动重连接。 其他的功能包括简单的check-and-set机制,pub/sub和配置设置让Redis看起来像一cache。 从2010年起,Redis的开发工作由VMware主持。 数据类型 Redis的key Redis是Remote Dictionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP/IP协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他数据类型。 Redis的key是字符串类型,由于key不是binary safe的字符串,所以像”my key”和”mykey\n”这样包含空格和换行的key是不允许的。 Redis的key是唯一的。 key不要太长,尽量不要超过1024字节,不仅消耗内存,而且降低查询效率。 key不要太短,太短的话,key可读性差。 统一key命名方式,例如user:10000:passwd。 Redis的value Redis支持的键值value数据类型有五种,如下: 字符串类型string。 字符串列表list。 字符串集合set。 有序字符串集合sorted set。 哈希。 适用场景 优点: 开源,免费。 性能高。 为一些个性化问题提供了相关的解决方案,例如索引引擎、统计排名、消息队列服务等。 和其他NoSQL产品相比,Redis易用性高。 缺点: 事务支持差。 不支持回滚。 一致性差,如一个事务修改字段A,在没执行EXEC前,其他进程可以读取旧的数据并修改,现在的关系型数据库是,在一个事务中修改了某个字段,其他进程就不能读(除非脏读)或修改该字段,要等这个事务提交了才行。 错误处理,一个事务中,其中一个或多个命令运行时失败,其他命令仍然会执行。 Redis是单线程服务器,不能从多CPU中获益。 集群功能在以后版本中提供。 Publication/Subscription功能中,如果master宕机,slave无法自动提升为master。 与关系型数据库比较: 相比于关系型数据库,由于Redis存储结构简单,因此并不能对复杂的逻辑关系提供很好的支持,然而在适用于Redis的场景中,由此可获得效率上显著提升。 Redis在同一连接中可以选择打开不同的数据库,数据库通过数字命名,缺省打开数据库0,如果程序运行中打算切换数据库,可以使用Redis的select命令,例如select 1,如果此后再想切换回缺省数据库,只要执行select 0即可。 Redis遵循NoSQL数据库的主流思想,key作为数据检索的唯一标识,等同于关系型数据库的索引键,查询条件只能基于key。value作为数据存储的主要对象,value被视为二进制字节流,用于存储任何格式的数据,例如Json、XML、序列化对象的字节流等。 适用场景: Redis常被用来作为数据库缓存,或者构建消息系统和队列系统。使用Redis的公司主要有Blizzard、digg、stackoverflow、github、flickr等。 因为Redis的数据集不会超过系统可用的内存,所以如果为大数据量,而且主要是读取模式,Redis并不适合。 软件安装 Redis Redis安装: $ wget /antirez/redis/archive/3.0.0-rc3.tar.gz $ tar zxvf 3.0.0-rc3.tar.gz $ cp -r redis-3.0.0-rc3 /usr/local/redis $ cd /usr/local/redis $ make #编译 $ make install #编译好的文件将被复制到/usr/local/bin下 $ cp redis.conf /etc/redis.conf #先修改redis.conf让server以daemonize yes运行 Redis组件说明: #redis-server:Redis服务器。 #redis-cli:Redis客户端,命令行操作工具。 #redis-benchmark:Redis性能测试工具,测试Redis在你的系统及配置下的读写性能。 $redis-benchmark -n 100000 -c 50 #模拟同时由50个客户端发送10万个SETs/GETs查询 #redis-chec

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档