1. Reids和其他类型数据库对比
名称 | 类型 | 数据库存储选项 | 查询类型 | 附加功能 |
Redis | 使用内存存储的非关系数据库 | 字符串,列表,集和,散列表,有序集合 | 每个类型有自己的专属命令,还有批量操作和不完全的事务支持 | 发布订阅,主从复制,持久化,脚本 |
memcached | 使用内存存储的键值缓存 | 键值之间的映射 | 创建,读取,更新,删除命令以及其他几个命令 | 为提升性能而设的多线程服务器 |
Mysql | 关系数据库 | 每个数据库可以包含多个表,每个表可以有多个行,支持多个表的试图,支持空间和第三方扩展 | SELECT,DELETE,INSERT,UPDATE,函数和存储过程 | 支持ACID性质,主从复制和主主复制 |
postgreSQL | 关系数据库 | 同上,还可支持可定制类型 | 同上 | 同上,由第三方支持的多主复制 |
MongoDB | 使用硬盘存储的非关系文档存储 | 每个数据库可以包含多个表,每个表可以包含多个无Schema的BSOM文档 | 创建,读取,更新,删除和条件查询几个命令 | 支持map-reduce操作,主从复制和分片,空间索引 |
2. Redis的附加功能
2.1 持久化
- 时间点转储:指定时间段内有指定数量的写操作执行,也可以调用两条转储命令中的一条执行;
- 在修改命令后追加命令追加到文件中
2.2 主从复制 -- 主服务器所有的更性都会同步到从服务器中
3. 为什么使用Redis
3.1 Redis优点 -- 速度快,支持丰富的类型,支持事务和丰富的特性(主从复制,消息订阅发布)
3.2 支持场景 -- 会话缓存,全页缓存,队列,排行榜/计数器,发布/订阅
4. Reids结构
结构类型 | 结构存储的值 | 结构的读写能力 |
STRING | 可以是字符串,整数或者浮点数 | 对整个字符串或者字符串的其中一部分执行操作,对整数和浮点数执行自增,或者自减操作 |
LIST | 一个链表,链表上的每个节点都包含一个字符串 | 从链表的两端推入或者弹出元素,根据偏移量对链表进行修剪,读取单个或者多个元素,根据值查找或者移除元素 |
SET | 包含字符串的无序收集器,每个元素都是独一无二的,各不相同的 | 添加,获取,删除单个元素,检查一个元素是否存在,计算交集,并集和差集,从集合随机获取元素 |
HASH | 包含键值对的无序散列表 | 添加,获取,删除单个键值对,获取所有键值对 |
ZSET | 字符串成员与浮点数分值之间的有序映射,元素的排列顺序由分值的大小决定 | 添加,获取,删除单个元素,根据分值范围或者成员来获取元素 |
所有命令列表可以从http://redis.io/commands找到
5. 安装Hiredis
执行命令sudo python -m easy_install redis hiredis
6. 安装Reids Desktop Manager(Redis可视化图形界面管理工具)
1. 下载源代码
git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 0.9 rdm && cd ./rdm
2. 命令行中执行(CentOS),其他系统参见http://docs.redisdesktop.com/en/latest/install/#build-from-source
cd src/
./configure
qmake-qt5 && make && sudo make install
cd /usr/share/redis-desktop-manager/bin
sudo mv qt.conf qt.backup