Redis使用及性能(redis-2.6.14)

本文介绍了Redis,一个支持多种数据类型的键值存储系统,适用于缓存、实时系统等场景。文章涵盖Redis的安装步骤,数据类型,安全性设置,主从复制,事务控制,持久化机制,Pipeline批量发送,导入大量数据,分区,高可用性和集群。同时提到了Redis的代理twemproxy及其优缺点,并进行了性能测试。
摘要由CSDN通过智能技术生成

= redis简单调研 =

== 简介 ==
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
参考:http://redis.io/documentation

拥有丰富的客户端API,如c,java,ruby,python,c++,c#等等
参考:http://redis.io/clients

适用的场合:
1. 需要精准设定过期时间的应用;
2. 实时系统;
3. Pub/sub构建实时消息系统;
4. 缓存;
5. ……

实际应用案例:
1. sina微博;
2. Twitter;
3. 淘宝秒杀;
4. ……

== 快速入门 ==
安装redis:
1. 下载:http://www.redis.io/download
2. 解压:tar zxvf redis-2.6.16.tar.gz
3. 编译:make
4. 运行:./src/redis-server ./src/redis-cli

配置redis:
1. 两种方法指定配置参数
* 在配置文件redis.conf中配置
* 在启动redis-server是指定
2. 运行过程中也可以修改配置
通过命令:CONFIG SET 和 CONFIG GET
参考:http://redis.io/topics/config

redis数据类型
1. Strings
2. Lists
3. Sets
4. ZSets
5. Hashes
参考:http://redis.io/topics/data-types

== Redis特性 ==
=== 安全性 ===
参考:http://redis.io/topics/security
1. 网络安全设置
可以对ip地址进行bind,只接受来自此ip的请求;
2. 设置访问密码
* 密码明文配置在redis.conf中,要保证此文件安全;
* 密码要足够可靠,redis client可以高速尝试密码;
3. 禁用命令或者重命名命令
保证一些敏感命令不被其他客户使用

=== 主从复制 ===
参考:http://redis.io/topics/replication
1. 特点
* 使用异步复制;
* Master可以拥有多个slave;
* Slave可以接受其他slave的复制请求;
* 主从复制不会阻塞master;
* 在slave上也是非阻塞;
* slave是只读的;

2. 缺点
每次断开重建连接之后都得进行全量同步,增量同步不支持;
3. 配置
slave <masterip> <masterport>

=== 事务控制 ===
参考:http://redis.io/topics/transactions
1. 命令基础
MULTI, EXEC, DISCARD, WATCH
2. 简单机制
当client发出multi命令后,进入事务上下文状态,后续命令并不立即执行,先放入一个队列中,当接收到exec命令后,按顺序执行队列中的所有命令,然后将所有命令的运行结果返回打包给client。
3. 不足
事务中的一个命令执行失败并不回滚其他命令。

=== 持久化机制 ===
参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值