0. 背景
关系型数据库 mysql 通过多个数据表表达事物属性和属性之间的关系,它的一个特点是“用 表 的数据结构表达数据”。Redis 是一种内存数据,它很快,常常作为缓存使用,理解 redis 的关键是要理解它的多种数据结构。
1. Redis 简介
image.png主要特点:
- key-value存储系统, 支持多种数据结构
- 数据都是缓存在内存中,周期性存储到磁盘
- Redis支持主从同步
key-value存储系统, 支持多种数据结构
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
数据都是缓存在内存中,周期性存储到磁盘
在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis支持主从同步
数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
2. 安装 Redis
我是在 linux 虚拟机下使用,使用的是 centos。在阅读了官网的说明 https://redis.io/download
后,采用下载和编译的方式安装:
2.1 下载、解压和编译:
$ wget http://download.redis.io/releases/redis-5.0.8.tar.gz
$ tar xzf redis-5.0.8.tar.gz
$ cd redis-5.0.8
$ make
现在编译的二进制文件在src目录中可用。运行Redis时使用:
$ src/redis-server
您可以使用 内置客户端 redis-cli 与Redis交互:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
2.2 重要的组成部分:
- redis-server:Redis服务器程序
- redis-cli:Redis客户端程序,它是一个命令行操作工具。也可以使用telnet根据其纯文本协议操作。
- redis-benchmark:Redis性能测试工具,测试Redis在你的系统及配置下的读写性能。
- redis.conf文件: redis 配置文件
2.3 后台启动
按上面的方式启动,发现启动后无法在操作命令行。可以改为后台启动。分解步骤:
-
修改配置文件:使用文本编辑器打开 redis.conf 文件,找到 daemonize 一行,修改为“daemonize yes”
-
启动时指定配置文件:
./redis-server ../redis.conf
这样就可以了。
默认情况下,执行启动后,redis 会运行在 6379 端口。
2.4 查看 reid 运行信息
使用 redis-cli 连接后,执行 info。
./src/redis-cli info
2.5 停止后台运行的reid
使用 redis-cli 连接到redis 然后执行 shutdown,示例:
./src/redis-cli shutdown
2.6 Redis 驱动
redis 支持命令行工具 ,也支持多种编程语言。在编程语言中使用reid需要用到驱动(类库等),你可以在 http://redis.io/clients
找到相关资料。
3. 参考
《 The Little Redis Book 》
https://github.com/ilivebox/the-little-redis-book/blob/master/zh-cn/redis.md
网友评论