1. redis安装
可在官网上下载安装包后安装、启动服务。
可通过redis-cli连接redis并通过命令操作redis。
2. 可用命令
命令 | 说明 |
数据库相关命令 | |
config get requirepass | 查看密码 |
config set requirepass 'password' | 设置密码,重启服务后重置 |
auth 'password' | 重新认证密码 |
select <n> | 切换n数据库,16个数据库,默认第0个。 |
dbsize | 查看数据库大小 |
keys <pattern> | 查找所有符合给定模式pattern(正则表达式)的键。keys * 查看所有的键。 |
flushdb | 清除当前数据库 |
flushall | 清空全部数据库 |
string字符串相关命令 | |
set <key> <value> | 插入key-value数据。 |
get <key> | 根据key 获取value |
exists <key> | 判断当前key是否存在 |
move <key> <dbNum> | 将key移入到其他数据库 |
expire <key> <time> | 给key设置过期时间 单位秒 |
ttl <key> | 查看当前key的剩余时间 |
type <key> | 查看当前key的类型 |
append <key> <str> | 追加字符串,如果当前key不存在,就相当于set。 |
strlen <key> | 获取指定key的值的字符串长度。 |
incr <key> | 指定key的数字值自增1。 |
decr <key> | 指定key的数字值自减1。 |
incrby <key> <n> | 指定key的数字值自增n。 |
decrby <key> <n> | 指定key的数字值自减n。 |
getrange <key> <i> <j> | 通过开始索引i和结束索引j截取指定key的值,0 -1为整体字符串。 |
setrange <key> <i> <str> | 替换指定key的字符串值指定位置的字符串 |
setex <key> <time> <value> | 插入key-value数据,并指定过期时间time。 |
setnx <key> <value> | 如果key不存在,则创建key, 如果key存在,则创建失败 |
mset <k1> <v1> <k2> <v2> ... | 批量插入key-value数据。 |
mget <k1> <k2> ... | 批量获取指定key的值。 |
msetnx <k1> <v1> <k2> <v2> ... | 批量插入key-value数据,原子性的操作,要么一起成功,要么一起失败,是否成功同setnx。 |
getset <key> <value> | 先get数据再set数据。key不存在返回nil。 |
list列表相关命令 | |
lpush <key> <e1> <e2> ... | 将一个值或者多个值,插入到列表的头部(左) |
lrange <key> <i> <j> | 通过区间获取列表具体的值。0 -1为列表所有元素。 |
rpush <key> <e1> <e2> ... | 将一个值或者多个值,插入到列表的尾部(右) |
lpop <key> | 移除列表的第一个元素 |
rpop <key> | 移除列表的最后一个元素 |
lindex <key> <i> | 通过索引获取列表的值 |
llen <key> | 返回列表的长度 |
lrem <key> <count> <e> | 移除列表中指定的值,可指定移除的最大数量。 |
ltrim <key> <i> <j> | 根根据指定的索引范围截取元素。 |
rpoplpush <key1> <key2> | 将key1列表中最后一个元素移动到key2列表中 |
lset <key> <i> <value> | 将列表中指定索引的值替换为另外一个值,更新操作。 |
linsert list before <e1> <e2> linsert list after <e3> <e4> | 往列表中的e1前面插入e2 往列表中的e3后面插入e4 |
set集合相关命令 | |
sadd <key> <e1> <e2> ... | set集合中添加不可重复的元素 |
smembers <key> | 查看指定的set的所有值 |
sismember <key> <e> | 查看集合中是否存在指定元素,若存在则返回1 |
scard <key> | 获取指定set的长度 |
srem <key> <e> | 移除set集合中的某一个元素 |
srandmember <key> <count> | 随机抽选出count个元素,count默认为1。 |
spop <key> | 随机删除一个元素 |
SMOVE <key1> <key2> <e> | 将key1集合中的e元素移动到key2集合中。 |
sdiff <key1> <key2> | set集合差集 |
sinter <key1> <key2> | set集合交集 |
sunion <key1> <key2> | set集合并集 |
hash哈希相关命令 | |
hset <hashKey> <key> <value> | 添加一个key-value 的hash数据。 |
hget <hashKey> <key> | 获取一个hash的字段值。 |
hmset <hashKey> <key1> <value1> <key2> <value2> ... | 添加多个key-value 的hash数据。 |
hmget <hashKey> <key1> <key2> ... | 获取多个字段值。 |
hgetall <hashKey> | 获取全部的数据。 |
hdel <hashKey> <key> | 删除hash指定的key字段,对应的value也被删除。 |
hlen <hashKey> | 获取myhash的表的字段数量。 |
hexists <hashKey> <key> | 判断hash中指定字段是否存在,如果存在则返回1。 |
hkeys <hashKey> | 获取指定hash的所有的键。 |
hvals <hashKey> | 获取指定hash的所有的值。 |
hincrby <hashKey> <key> <num> | 指定hash的值的增量。num为正数自增,num为负数自增。 |
hsetnx <hashKey> <key> <value> | 如果不存在则可以添加,如果存在则失败 |
zset相关命令 | |
zadd <key> <score1> <value1> <score2> <value2> ... | zset新增数据。 |
zrange <key> <i> <j> | 通过区间获取zset集合的值。0 -1为列表所有元素。 |
zrangebyscore <key> <min> <max> [withscores] [LIMIT offset count] | 通过指定score范围获取数据。 min 和 max用于限制score范围,可以使用-inf 和 +inf表示最小最大值。 可通过 ( 确定范围的开闭,例如:1,2为1<=x<=2;(1,(2 为 1<x<2 withscores:获取数据是否带score字段。 |
zrevrange <key> <min> <max> [withscores] | 获取指定score范围获取数据,并由大到小排序。 |
zrem <key> <value> | 移除有序集合中的元素。 |
zcard <key> | 获取有序集合中的个数 |
zcount <key> <i> <j> | 获取指定区间的数量 |