Redis数据类型方法统计

通用

flushdb:清除当前数据库数据
flushall:清楚全部数据库数据
exists key:检查是否存在

String

字符串操作

set key value  : 保存一个值
get key :根据key取值
strlen key:查看一个key的值长度
append key value:对一个key的值进行追加(如key不存在相当于set)
incr key :指定一个key的值自增1
decr key:指定一个key的值自减1
incrby key value:指定一个key的值增量
decrby key value:指定一个key的值减量
expire key second:设置一个值的过期时间(需key存在)
ttl key:查看key的过期时间
getrange key start end:获取一个key的值的指定位数(end为-1时指获取全部)
setrange key offset value:替换一个key从指定位置开始的字符串
setex key second value:设置一个值的同时设置过期时间
setnx key value:如果该值不存在则设置
mset k1 v1 k2 v2...:同时存多个值
mget k1 k2...:同时取多个值
msetnx k1 v1 k2 v1...:如果key不存在则设置(要么都成功,要么都失败)
getset key value:先去一个key的值再设置

List

list集合

lpush key value:将值从key的左侧存入
rpush key value:将值从key的右侧存入
lrange key start end:获取key的指定位置(end为-1时获取list中的全部)
lpop《=》rpop:从list的左、右侧移除值
lindex key index:获取list中指定下标的值
llen key:获取list的长度
lrem key count value:移除list中指定个数的相同值
ltrim key start end:通过下标截取list(截取后原list呗改变)
rpoplpush source destination:移除原list中的右侧的元素添加到新list的左侧
lset key index value:替换list中指定下标的值(如果key不存在报错)
linsert key before|after point value:在list中指定值前或后添加值

Set

无序不重复集合

sadd key value:添加一个值
smember key:查询set中的值
sismember key value:查询set中指定值是否存在
scard key:获取set中的元素个数
srem key member:移除ste中的指定元素
srandmember key :从指定set中随机抽选出一个值
srandmember key count:从指定set中随机抽选出指定元素
spop key:从set中随机移除一个元素
smove source destination value:从原set中移动一个值到另一个set中
sdiff key1 key2:以set1向set2求差集
sinter key1 key2:计算两个set的交集
sunion key1 key2::计算两个set的并集

Hash

map集合key-<key,value>

hset key filed value:存入指定key中某个字段的值
hget key filed:获取key中指定字段的值
hmset key f1 v1 f2 v2...:设置key中多个字段值
hgetall key:获取指定key中所有的值
hdel key filed:删除key中指定一个字段的值
hlen key:获取key中有多少元素值(filed-value)
hexists key filed:判断指定key中指定字段是否存在
hkeys key:只获取filed
hvals key:只获取value
hincrby key filed value:指定增量
hsetnx kye filed value:如果不存在则可以设置

Zset

有序集合

zadd key scord value:添加一个带分数的值
zrange key start end:获取key中指定位置的值
zrangebyscore key min max [withscore]:指定key中设置区间排序(从小到大)(-inf《=》+inf :负无穷到正无穷)可选是否带分数输出
zrem key value:移除指定元素
zcard key:获取集合中的元素个数
zrevrange key start end:可指定顺序排序
zcount key min max:获取指定分数范围内元素

Geospaital

地理位置存储

getadd key long lat member:添加key中一个带经纬度的值
geopos key member:获取key中一个城市经纬值
geodist key member1 member2:获取key两个位置的距离
georadius key long lat radius m|km|ft|mi :在key中获取指定位置为中心radius距离的数据
georadiusbymember key member radius m|km|ft|mi:找出key中指定元素范围内的元素
geohash key member:返回指定元素经纬度的字符码

Hyperloglog

基数统计

pfadd key member:在key中添加值
pfcount key:查询key中元素个数
pfmerage destkey source1 source2:将多组数据合成一组(去重,求基数)

Bitmap

位图操作,记录值为二进制(0或1)

setbit key offset value:在key中指定下标存入值(value只能为0或1)
getbit key offset:查看key中指定位置的值
bitcount key:查询key中值为1的

视频地址:https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis数据类型有String、Hash、List、Set、Zset、GEO、Stream、HyperLogLog和Bitmap。在实际应用不同数据类型可以用于不同的场景。 1. String类型:主要用于缓存和存储单个的,比如用户的登录信息、计数器等。 2. Hash类型:适用于存储和获取对象的多个字段,比如存储用户的信息、商品的属性等。 3. List类型:可以按照插入顺序存储多个,并支持在列表的两端进行插入和删除操作,比如消息队列、实时聊天记录等。 4. Set类型:用于存储多个不重复的,也可以进行交集、并集、差集等操作,比如存储用户的好友列表、标签等。 5. Zset类型:有序集合,每个元素都会关联一个分数,可以根据分数进行范围查找和排序,适用于排行榜、带权重的数据等。 6. GEO类型:用于地理位置信息的存储和查询,可以计算距离、查找附近的位置等。 7. Stream类型:适用于消息队列的场景,可以按照时间顺序存储和消费消息。 8. HyperLogLog类型:用于统计独立元素的个数,可以进行基数估算,适用于统计UV、PV等场景。 9. Bitmap类型:用于位图操作,可以进行位运算和统计,比如用户签到、在线状态等。 在实际应用,根据具体的需求和数据特点,选择合适的Redis数据类型可以带来更好的性能和扩展性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [最全总结Redis数据类型使用场景](https://blog.csdn.net/qq_27681741/article/details/125289210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值