redis 命令
连接redis
- redis-cli -h host -p 6379 -a password
- 如果中文乱码 redis-cli --raw
redis Keys 命令
- 查询
- keys * 查看所有的key 支持正则 key 是唯一的
- randomkey 随机返回一个key
- exists keyname key是否存在 exists 带s
- type keyname 查看key 的类型
- del keyname 删除 指定的key
- rename key newkey
- move key db 移动key到db
- 设置缓存时间
- persist key 移除key的过期时间 保持持久
- expire key second 以秒设置过期时间
- pexpire key milliseconds 以毫秒设置过期时间
- expireat key timestamp unix时间戳时间过期世界
- TTL key 返回内存剩余时间以秒计
- PTTL key 返回内存剩余时间以毫秒计
- dump key 序列化key并返回序列化的值
String 类型
-
基本操作
- 查看
- get keyname 获取指定key的 值 不支持正则
- mget key1 key2 获取多个key的值
- strlen key 返回指定key的长度
- getrange key index1 index2 截取key的value值的index范围的字符串
- 增加
- set key value 添加一个 该类型可以包含任意类型的数据(图片/序列化对象) 二进制安全 一个key最大存储 512M
- mset key value key value 添加多个
-
对key的value进行操作
- value 增加
- incr key 将key中存储的数字加 1
- incr key increment 将key中存储的数字加 increment
- value 减少
- decr key 将key中存储的数字减 1
- decr key decrement 将key中存储的数字减 decrement
Set类型 —— String 类型的无序集合
-
基本操作
- 增加
- sadd key value 给key添加一个/多个 元素 hash 实现 增删查为 O(1) value 是唯一的
- 删除
- srem key value1 value 给key删除一个/多个元素
- 查看
- scard key 查看 key中的成员数
- sismember key value 看value是不是集合中的元素 是返回 1 不是返回 0
- smembers key 查看 key中的所有元素
- srandmember key count 从key中随机返回count个元素
-
集合操作
- 差集
- sdiff key key1 去key的差集 注意位置
- 交集
- sinter key key1
- 并集
- sunion key key1
Zset —— String 类型的有序集合
-
基本操作
- 增加
- zadd key score value 根据score 的大小实现排序 score 不唯一 但是value唯一
- zincrby key increment value 给指定的key中的value 增加 increment 评分
- 删除
- zrem key value 删除key中的value
- zremrangebyrank key index1 index2 根据排序删除index范围内的数据
- zremrangebyscore key score score 删除评分范围内的数据
- 查询
- zrank key value 返回key中指定 value的index
- zcount key score score1 统计评分范围的所有数据的数量
- zrange key score1 score2 查看评分范围内的所有数据
- zrange key index1 index2 查看index范围内的所有数据
-
操作value
List类型——双向链表实现的队列
-
基本操作
- 增加
- lpush /rpush key value 给队列中添加一个元素
- 删除
- lpop/rpop key 删除队列中的一个元素
- blpop/brpop key timeout 删除元素 没有元素阻塞队列 一直到有元素或者超时
- 查询
- llen key 获取列表的长度
- lindex key index 获取队列中指定元素
- ltrim key index1 index2 保留index区间内的数据
- lrange key index1 index2 查询指定index范围的 元素
Hash类型——String 类型的 field 和value的映射表
-
基本操作
- 增加
- hset key field value 给key增加一个 field 属性值
- hmset key field value field2 value 给key增加 多个field 属性值
- 删除
- hdel key field 删除key的field
- 查询
- hexists key field 查询指定key 的field 属性是否存在
- hgetAll key 获取key的所有属性和值
- hlen key 获取key中属性的数量
- hkeys key 获取key的所有属性
- hvals key 获取key的所有值
- hget key field 获取key的field属性值
- hmget key field1 field2 获取key的多个field属性值
-
操作属性值
- 增加
- hincrby key field incretment 给key的field增加incretment
其他
- 数据库操作
- select 0 选择第一个库 默认16个库 不支持 自定义命名
- flushall 清空所有库的数据 数据库之间不完全隔离
- 配置操作
- config get * 获取所有配置信息 支持正则
- config set field value 设置配置文件
事务(没有原子性,批量执行脚本)
- multi 开启事务 输入命令 exec结束命令输入并触发命令执行
- 命令错误不退出,继续执行下一条命令
- watch key 设置监视点 事务执行前key 被改动 事务不执行 unwatch 取消对所有key的监视
- discard 放弃执行事务块的所有内容
数据保存和备份
- 备份
- save 在安装目录中创建 dump.rdb文件
- bgsave 后台保存数据
- 恢复数据
config get dir
获取redis 安装目录- 将备份dump.rdb文件 移动到安装目录并重启
malu