Redis五大数据类型

keys * : 查看所有key
flushdb :清空当前库 
flushall : 清空全部数据库
set keyVame keyValue: 设置key
exists keyname: 判断key是否存在
move keyName dbIndex: 移动keyName到dbIndex数据库中
expire keyName 10: 设置keyName 10秒钟的有效时间
ttl keyName: 查看keyName的剩余时间
type keyName: 查看keyName的类型
rename oldkey newkey: 重命名key

2.1 字符串(String)

del key: 删除key
append keyName string : 在keyName的value的后面追加一个string,如果该keyName不存在,就相当于set一个keyName
strlen keyName : 获取keyName的value的长度
incr keyName : i++
decr: i--
incrby keyName stride: i = i + stride
decrby keyName stride: i = i - stride 
getrange keyName strat end: 获取范围内的字符串内容(闭区间), 0,-1时等同于get keyName
setrange keyName offset value: 使用value替换从offset开始的值,替换长度为value的长度
setex(set with expire): set keyName seconds value #设置过期时间
setnx(set is not exist):setnx keyName value # 不存在时再设置(在分布式锁中常常使用!)
mset k1 v1 k2 v2 k3 v3 ... :批量设置key-value
msetnx k1 v1 k2 v2 #原子性操作,要么全部成功,要么全部失败
getset keyName value : 组合命令,先get keyName,再设置keyName的值为value,如果当前不存在值则返回nil

2.2 列表(list)

list中的值可以重复,且有序。所有的list命令都是L开头的,Redis不区分大小写命令。

lpush listName value: 将一个或多个值,插入到列表头部(左)
rpush listName value: 将一个或多个值,插入到列表尾部(右)
lrange listName start end: 通过区间获取list具体的值
lpop listName : 移除列表的第一个元素
rpop listName : 移除列表的最后一个元素
lubdex listName index: 获取listName下标为Index的值
llen listName: 返回listName的长度
lrem listName count value: 移除指定的value,count表示要移除几个这样的value
ltrim listName strat end: 截取list,只保留[start,end]内的元素
rpoplpush list1 list2: 移除list1的最后一个元素并将其转移到list2中
lset listName index value: 将listName中下标为index的值替换为value(要求index存在,不存在则报错)
linsert listName before|after value1 value2: 在value1的前面或后面插入value2

2.3 集合(set)

set中的值不能重复,且无序。 所有的set命令都是s开头的。

sadd setName value: 添加值
smembers setName: 查看setName中的所有值
sismember setName value: 查看setName中是否存在value
scard setName: 获取setName中的元素个数
srem setName value: 移除setName中指定的value元素
srandmember setName: 随机抽取一个元素
srandmember setName count: 随机抽取count个元素
spop setName: 随机删除一个setName中的元素
smove setName1 value setName2: 把setName1中的value移到setName2中
sdiff set1 set2: 以set1为参照物,返回set1和set2的差集
sinter set1 set2: 返回set1和set2的交集
sunion set1 set2: 返回set1和set2的并集

2.4 散列(hash)

hash本质上是一个Map集合,形式为key-<key,value>,此时的value是一个map集合!所有的hash命令都是h开头的。

hset hashName key value: 添加值
hget hashName key: 获取key的value
hmset hashName key1 value1 key2 value2: 批量添加
hmget hashName key1 key2: 批量获取
hgetall hashName: 获取全部数据
hdel hashName key: 删除hashName指定的key
hlen hashName : 获取hashName的键值对数量
hexists hashName key: 判断指定key是否存在
hkeys hashName: 获取所有的key
hvals hashName: 获取所有的value
hincrby hashName key num: 将hashName中key的value自增num
hsetnx hashName key value: 如果key不存在则创建key-value,如果存在则失败

2.5 有序集合(sorted set)

在set的基础上增加了一个值,zset k1 score v1,用来排序

zadd setName score value: 添加数据
zrangebyscore setName -inf +inf : 显示所有数据,从小到大
zrangebyscore setName -inf +inf withscores: 同上,但附带score
zrevrange setName 0 -1: 从大到小
zrem setName value: 移除指定的value
zcard setName: 查看元素数量
zcount setName start end: 获取指定区间[start,end]的元素数量

2.6 BitMaps 特殊数据类型

位存储

setbit bitMapName offset value: 添加值
getbit bitMapName offset : 获取offset的value
bitcount bitMapName: 获取value为1的个数

例如使用bitmap 来记录周一到周日的打卡情况:

查看周四是否打卡:

查看打卡天数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值