- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)