redis的命令有很多,命令不区分大小写,如下是一些常用的命令。
可以通过官网-命令来学习使用更多的命令!!

例如:

1.基本命令
- 选择数据库
select 编号
redis默认的数据库有16个,编号从0-15,默认使用0号数据库 在配置文件中可查看到
- 清空所有数据库中所有内容
flushall
- 清空当前数据库中所有内容
flushdb
- 查看当前数据库大小
dbsize
- 查看当前数据库里所有的key值
keys *
- 存数据
set key名 value值
- 获取key名对应的值
get key名
- 删除k-v
move key名 1
1表示当前库
- 查看key存值的类型
type key名
- 判断key名是否存在
exists key名
- 将某k-v设置为多少秒后过期
expire key名 秒数
- 查看改k-v剩余有效时间
ttl key名
2.string相关的命令
- 追加字符串
append key名 追加的内容
- 获取字符串长度
strlen key名
- 自增一
incr key名
- 自减一
decr key名
- 增加具体数值
incrby key名 数值
- 减少具体数值
decrby key名 数值
- 获取字符串[start index,end index]
getrange key名 start end
- 修改字符串部分,从index开始依次向后覆盖
setrange key名 index value修改部分
- 存数据并设置过期时间
setex key名 秒数 value
- 存在不覆盖,不存在就存数据
setnx key名 value
- 同时存多个k-v
mset k1 v1 k2 v2 k3 v3...
- 同时取多个k-v
mget k1 k2 k3...
- msetnx对应setnx同时操作多个k-v,注意msetnx为原子性操作,要么全成功要么全失败
- 存对象
mset 对象类名:对象id:对象属性 值 对象类名:对象id:对象属性 值...
- 取存操作,先取后存,读出的数据为旧数据
getset key名 value
3.list相关的命令
(几乎所有的list相关命令都以l开头)
先进去的元素在右边,按照从左到右顺序编号0、1、2、3、…
list实际上是一个链表。key存在添加值,不存在创建并添加值;移除了所有值相当于list不存在!!
- 判断list是否存在
exists list名
- 向头(左边)存一个数据
lpush list名 值
- 向尾(右边)存一个数据
rpush list名 值
- 获取list中[start index,end index]的数据
lrange list名 start end
- 取出头(左边)的第一个数据
lpop list名
- 取出尾(右边)的第一个数据
rpop list名
- 获取指定下标的数据
lindex list名 index
- 获取list的长度
llen list名
- 移除指定个数个具体值的数据
lrem list名 个数 值
- 修剪list,将list只保留[start,end]的部分,其余删除
ltrim list名 start end
- 修改指定下标的数据值
lset list名 index 值
- 将list1中尾元素移除,并添加到list2中头部
rpoplpush list1 list2
- 将新值插入到指定值元素从头首次出现的前面或者后面
linsert lsit名 before/after 指定值 新值
4.set的相关命令(元素各不相同)
- 添加元素
sadd set名 值
- 删除元素
srem set名 值
- 查看set中有几个元素
scard set名
- 查看set中是否存在某元素
sismember set名 值
- 查看set中所有元素
smembers set名
- 随机取出一个元素
srandmember set 名
- 将set1中某个元素移到set2中
smove set1 set2 值
- 交集
sinter set1 set2
- 并集
sunion set1 set2
- 差集
sdiff set1 set2
5.hash相关的命令
在redis中,其可以看成为key-value(K-V)的形式
- 添加元素
hset hash名 k1 v1 k2 v2 ...
- 获取元素
hget hash名 k1
- 添加多个元素
hmset hash名 k1 v1 k2 v2 ...
- 获取多个元素
hmget hash名 k1 k2 ...
- 获取hash中所有元素
hgetall hash名
- 获取hash中所有k
hkeys hash名
- 获取哈市中所有v
hvals hash名
- 删除某个元素
hdel hash名 k1 [k2...]
- 获取hash长度
hlen hash名
- 判断hash中是否存在某k值
hexists hash名 k
- 让某个v(没有自增、自减) 增减指定长度
hincrby hash名 k 正数/负数
- 存在不覆盖,不存在存储
hsetnx hash名 k v
- 存对象
hset 对象类型:对象名 属性 值 属性 值
(hash比string更适合存储对象)
6.zset相关的命令(有序的set)
- 增加元素
zadd zset名 score1 值1 [score2 值2...]
- 获取元素
zrange zset名 start end
- 删除元素
zrem zset名 值
- 统计元素总个数
zcard zset名
- 统计[min, max]的元素个数
zcount zset名 min max
- 按照从小到大排序
zrangebyscore zset名 min max [withscores] [limit offset count]
- 按照字典顺序反序排序
zrevrange zset名 start end
7.geospatial相关的命令(本质是zset)
- 添加地理位置
geoadd key名 值1(经度,纬度,名称) 值2 ...
- 获取地理位置
geopos key名 名称1 名称2 ...
- 获取两地距离
geodist key名 名称1 名称2 单位
- 以经纬度为中心,获取半径以内的地理位置
georadius key名 经度 纬度 半径 单位 [withdist] [withcoord] [count 数值]
- 以名称为中心,获取半径以内的地理位置
georadiusbymember key名 名称 半径 单位 [withdist] [withcoord] [count 数值]
- 获取该地理位置的哈希值
geohash key名 名称1 名称2 ...
8.hyperloglog相关的命令(元素各不相同、容错,不容错用set/zset)
- 添加
pfadd key名 值(元素1 元素2 ...)
- 统计个数
pfcount key名
- 合并
pfmerge 结果集key名 key1 key2
9.bitmap相关的命令
- 设置位值
setbit key名 值(index 0/1)
- 获取位值
getbit key名 index
- 统计值为1的位个数
bitcount key名
版权声明:本文为weixin_45880263原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。