安装
redis官方网站
Redis - The Real-time Data Platform,推荐下载稳定版本(stable)。
2.下载
|
①复制,推荐放到usr/local目录下
|
②进入redis目录
|
③生成
|
④测试
|
⑤安装,将redis的命令安装到/usr/bin/目录,这段运行时间会较长
|
⑥运行,启动服务器
|
⑦按ctrl+c停止,启动客户端:在新终端中运行如下代码
|
⑧运行命令
|
⑨当添加键值后,发现在当前运行的目录下,创建了一个文件:dump.rdb,这个文件用于将数据持久化存储
配置
1.redis.conf为配置文件
在源文件/usr/local/redis目录下。
2.绑定地址
如果需要远程访问,可将此行注释。
|
3.守护进程
①如果以守护进程运行,则不会在命令行阻塞,类似于服务。
②如果以非守护进程运行,则当前终端被阻塞,无法使用。
③推荐改为yes,以守护进程运行。
|
4.数据文件
|
5.数据文件存储路径
①dir的默认值为./,表示当前目录。
②推荐改为:dir /var/lib/redis。
6.使用配置文件方式启动
①直接运行redis-server会直接运行,阻塞当前终端。
②一般配置文件都放在/etc/目录下。
|
③推荐指定配置文件启动。
|
7.停止redis服务
|
数据操作
1.键的类型
redis是key-value的数据,所以每个数据都是一个键值对,键的类型是字符串。
2.值的类型分为五种
①字符串string
②哈希hash
③列表list
④集合set
⑤有序集合zset
3.数据操作的全部命令
可以查看中文网站,http://redis.cn/commands.html。
4.String
1) 设置键值
|
2) 设置键值及过期时间,以秒为单位
|
3) 设置多个键值
|
4) 根据键获取值,如果不存在此键则返回nil
|
5) 根据多个键获取多个值
|
6) 运算
|
7) 将key对应的value加整数
|
8) 将key对应的value减1
|
9) 将key对应的value减整数
|
10) 追加值
|
11) 获取值长度
|
5.键的命令
1) 查找键,参数支持正则
|
2) 判断键是否存在,如果存在返回1,不存在返回0
|
3) 查看键对应的value的类型
|
4) 删除键及对应的值
|
5) 设置过期时间,以秒为单位
|
6) 查看有效时间,以秒为单位
|
6.hash
1) 设置单个属性
|
2) 设置多个属性
|
3) 获取一个属性的值
|
4) 获取多个属性的值
|
5) 获取所有属性和值
|
6) 获取所有的属性
|
7) 返回包含属性的个数
|
8) 获取所有值
|
9) 判断属性是否存在
|
10) 删除属性及值
|
11) 返回值的字符串长度
|
7.List
1) 在头部插入数据
|
2) 在尾部插入数据
|
3) 在一个元素的前|后插入新元素
|
4) 设置指定索引的元素值
|
5) 移除并且返回 key 对应的 list 的第一个元素
|
6) 移除并返回存于 key 的 list 的最后一个元素
|
7) 返回存储在 key 的列表里指定范围内的元素
|
8) 裁剪列表,改为原集合的一个子集
|
9) 返回存储在 key 里的list的长度
|
10) 返回列表里索引对应的元素
|
8.Set
1) 添加元素
|
2) 返回key集合所有的元素
|
3) 返回集合元素个数
|
4) 求多个集合的交集
|
5) 求某集合与其它集合的差集
|
6) 求多个集合的合集
|
7) 判断元素是否在集合中
|
9.Zset
1) 添加
|
2) 返回指定范围内的元素
|
3) 返回元素个数
|
4) 返回有序集key中,score值在min和max之间的成员
|
5) 返回有序集key中,成员member的score值
|
1.发布订阅
①发布者不是计划发送消息给特定的接收者(订阅者),而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。
②订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。
③发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑。
④客户端发到频道的消息,将会被推送到所有订阅此频道的客户端。
⑤客户端不需要主动去获取消息,只需要订阅频道,这个频道的内容就会被推送过来。
2.消息的格式
1) 消息类型,包含三种类型
①subscribe:表示订阅成功。如果第一部分的值为subscribe,则第二部分是频道,第三部分是现在订阅的频道的数量。
②unsubscribe:表示取消订阅成功。如果第一部分的值为unsubscribe,则第二部分是频道,第三部分是现在订阅的频道的数量,如果为0则表示当前没有订阅任何频道,当在Pub/Sub以外状态,客户端可以发出任何redis命令。
③message:表示其它终端发布消息。如果第一部分的值为message,则第二部分是来源频道的名称,第三部分是消息的内容。
2) 订阅
|
3) 取消订阅,如果不写参数,表示取消所有订阅
|
4) 发布
|
1.主从配置
1) 设置主服务器的配置
|
2) 设置从服务器的配置
|
3) 在master和slave分别执行info命令,查看输出信息
4) 在master上写数据
|
5) 在slave上读数据
|
与python交互
1.客户端代码联网安装
|
使用源码安装
|
2.交互代码
1) 引入模块
|
2) 连接
1 2 3 4 |
|
①根据数据类型的不同,调用相应的方法,完成读写。
|
②pipline:缓冲多条命令,然后一次性执行,减少服务器-客户端之间TCP数据库包,从而提高效率。
|
3) 封装
连接redis服务器部分是一致的,这里将string类型的读写进行封装。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|