redis安装
sudo apt-get install redis-server
redis基本配置文件
/lib/systemd/system/redis-server.service
/etc/redis/redis.conf --主要的配置文件,包含ip/端口/数据文件地址/日志地址/守护进程等
基本配置
在源文件/usr/local/redis目录下,文件redis.conf为配置文件
绑定地址:如果需要远程访问,可将此行注释
bind 127.0.0.1
端口,默认为6379
port 6379
是否以守护进程运行
如果以守护进程运行,则不会在命令行阻塞,类似于服务
如果以非守护进程运行,则当前终端被阻塞,无法使用
推荐改为yes,以守护进程运行
daemonize no|yes
数据文件
dbfilename dump.rdb
数据文件存储路径
dir的默认值为./,表示当前目录
推荐改为:dir /var/lib/redis
使用配置文件方式启动
直接运行redis-server会直接运行,阻塞当前终端
一般配置文件都放在/etc/目录下
sudo cp /usr/local/redis/redis.conf /etc/redis/
推荐指定配置文件启动
sudo redis-server /etc/redis/redis.conf
停止redis服务
ps ajx|grep redis
sudo kill -9 redis的进程id
数据操作
- redis是key-value的数据,所以每个数据都是一个键值对
- 值的类型分为五种:
- 字符串string
- 哈希hash
- 列表list
- 集合set
- 有序集合zset
全部命令参照 redis中文官网
String基本命令
设置键值
set key value
设置键值及过期时间,以秒为单位
SETEX key seconds value
设置多个键值
MSET key value [key value ...]
根据键获取值,如果不存在此键则返回(nil)
GET key
根据多个键获取多个值
MGET key [key ...]
hash基本命令
- hash用于存储对象,对象的格式为键值对
设置单个属性
HSET key field value
设置多个属性
HMSET key field value [field value ...]
获取一个属性的值
HGET key field
获取多个属性的值
HMGET key field [field ...]
获取所有属性和值
HGETALL key
获取所有的属性
HKEYS key
返回包含属性的个数
HLEN key
获取所有值
HVALS key
删除属性及值
HDEL key field [field ...]
list基本命令
在头部插入数据
LPUSH key value [value ...]
在尾部插入数据
RPUSH key value [value ...]
在一个元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
移除并且返回 key 对应的 list 的第一个元素
LPOP key
移除并返回存于 key 的 list 的最后一个元素
RPOP key
返回list列表范围内的元素
LRANGE key start stop
裁剪列表,改为原集合的一个子集
- start 和 end 偏移量都是基于0的下标
- 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LTRIM key start stop
set基本命令
set是无序集合,唯一不重复
添加元素
SADD key member [member ...]
获取所有元素
smembers key
返回集合元素个数
scard key
求多个集合的交集
SINTER key [key ...]
求某集合与其它集合的差集
SDIFF key [key ...]
求多个集合的合集
SUNION key [key ...]
判断元素是否在集合中
SISMEMBER key member
zset基本命令
sorted sort有序集合,依靠用户自定义score来实现排序
添加
ZADD key score member [score member ...]
发布订阅
订阅
SUBSCRIBE 频道名称 [频道名称 ...]
取消订阅
--如果不写参数,表示取消所有订阅
UNSUBSCRIBE 频道名称 [频道名称 ...]
发布
PUBLISH 频道 消息
主从配置
主服务器
vim /etc/redis/redis.conf
bind 192.168.1.10
从服务器
vim /etc/redis/redis.conf
bind 192.168.1.11
slaveof 192.168.1.10:6379
主从服务器分别重启服务然后
redis-cli -h 192.168.1.10
redis-cli -h 192.168.1.11