一、Redis安装配置
1、安装
官网地址:http://redis.io/download(根据自己想要的版本下载)
解压:tar -zvxf redis-3.0.7.tar.gz 将解压后的文件夹放到 /usr/local目录下
编译测试:接下来在终端中切换到/usr/local/redis目录下,输入:sudo make test
编译安装:在终端中输入命令:sudo make install
2、启动redis
redis-server(看到该图片则成功)
=
3、基本配置
在源文件/usr/local/redis/redis.conf 为配置文件
bind 127.0.0.1 绑定地址,需要远程访问则修改
端口,默认端口6379
prot 6379
是否为守护进程运行
如果以守护进程运行,则不会在命令行堵塞,类似于服务 如果以非守护进程运行,则当前终端会被堵塞,无法使用。推荐改为key
daemonize on|yes
数据文件
dbfilename dump.rdb
数据文件存储路径
dir的默认值为 ./表示当前目录
推荐更改为: dir /var/lib/redis
启动|停止redis
启动:sudo redis-server /usr/local/redis/redis.conf(配置文件的地方)
停止: ps -ajx | grep redis
kill -9 redis进程id
二、数据库操作 在线中文操作文档:http://redis.cn/commands.html#gener数据库存储类型 数据类型: 字符串 string 哈希 hash 列表 list 集合 set 有序集合 zset 1、string 特点: 基本类型 最大存储512MB数据 string类型是二进制安全的,可以为任何数据,如数字、图片、序列对象等 命令: 设置键值 set key value 设置键值及过期时间,以秒为单位 setex key seconds value seconds(秒) 设置多个键值 mset key value [key value ..] 获取 get key 通过多个键获取多个值 mget key [key ..] 运算-要求是数字 incr key 将key对应的value减1 decr key 将key对应的value减整数 decrby key decrement 将key对应的value减整数 其他: 追加值 append key value 获取值长度 strlen key 2、键命令 查找键:keys pattern 判断键是否存在 exists key [key...] ,存在返回1,不存在返回0 查看键对应的value的类型 type key 删除键及对应的值 del key [key ...] 设置已存在的键过期时间 expire key seconds 查看有效时间,以秒为单位 ttl key 3、hash 命令: 设置单个属性 hset key field value 设置多个属性 hmset key field value [field value] 获取一个属性的值 hget key field 获取多个属性的值 hmget key field [field] 获取所有属性和值 hgetall key 返回包含属性的个数 hlen key 获取所有的值 hlen key 其他 判断属性是否存在 hexists key field 删除属性及值 hdel key field [field ..] 返回值得字符串长度 hserlen key field 4、 list 特点: 列表的元素类型为string 按照插入顺序排列 在列表的头部或者尾部添加元素 命令: 在头部插入数据 lpush key value 在尾部插入数据 rpush key value [value ..] 在一个元素的前|后插入新元素 linsert key before|after pivot(索引) value 移除并返回key返回的list的第一个元素 lpop key 移除并返回key返回的list的最后一个元素 rpop key 其他 返回存储在key里的list的长度 llen key 返回列表里索引对应的元素 lindex key index 4、set 特点: 无序集合 元素为string类型,具有唯一性,不可重复 命令: 添加元素 sadd key member [member ..] 返回key集合所有的元素 smembers key 返回集合元素个数 scard key 其他: 集合交集 sinter key key2 [key...] 求某集合其他集合的差集 sdiff key key2 [key..] 求多个集合的合集 sunion key [key..] 判断元素是否在合集中 sismember key member 5、zset 特点: sorted set 有序集合 元素为string类型 元素具有唯一性,不可重复 每个元素都有关联一个double类型的score,表示权重,通过权重将元素从小到大排序,元素的score可以相同 命令: 添加 zadd key score member [score member..] 获取指定范围内的元素 zrange key start stop 返回元素个数 zcard key 返回有序集key中,score值在min和max之间的成员 zcount key min max 返回有序集合key中,成员member的score值 zsorce key member
三、高级
1、发布订阅
- 发布者不是计划发送消息给特定的接收者(订阅者),而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅,订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的
- 发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑
- 客户端发到频道的消息,将会被推送到所有订阅此频道的客户端
- 客户端不需要主动去获取消息,只需要订阅频道,这个频道的内容就会被推送过来
消息的格式
推送消息的格式包含三部分:
part1:消息类型,包含三种类型
subscribe,表示订阅成功
unsubscribe,表示取消订阅成功
message,表示其它终端发布消息
- 如果第一部分的值为subscribe,则第二部分是频道,第三部分是现在订阅的频道的数量
- 如果第一部分的值为unsubscribe,则第二部分是频道,第三部分是现在订阅的频道的数量,如果为0则表示当前没有订阅任何频道,当在Pub/Sub以外状态,客户端可以发出任何redis命令
- 如果第一部分的值为message,则第二部分是来源频道的名称,第三部分是消息的内容
命令
订阅
SUBSCRIBE 频道名称 [频道名称 ...]
取消订阅(如果不写参数,表示取消所有订阅)
UNSUBSCRIBE 频道名称 [频道名称 ...]
发布
PUBLISH 频道 消息
2、主从配置
一个master可以拥有多个slave,一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构
浙公网安备 33010602011771号