0
点赞
收藏
分享

微信扫一扫

2.Redis基础数据类型详解

钵仔糕的波波仔 2022-03-24 阅读 83
java

redis一共分为五种基本数据类型:String、Hash、List、Set、ZSet

2.1String类型
String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串,数值等等。
set和get方法:
设置值: set name bhz

取值get name(说明设置name多次会覆盖)

删除值:del name
使用setnx (not exist)
name如果不存在进行设置,存在就不需要进行设置了,返回0使用setex (expired)
setex color 10 red设置color的有效期为10秒,10秒后返回nil(在redis里nil表示空)


使用setrange替换字符串:
set email 174754613@qq.com
setrange email 10 ww (10表示从第几位开始替换,后面跟上替换的字符串)

使用一次性设置多个和获取多个值的mset、mget方法:
mset key1 bhz key2 bai key3 28;

对应的mget key1 key2 key3方法对应的也有msetnx和mget方法。
一次性设置和取值的getset方法:
set key4 cc
getset key4 changchun返回旧值并设置新值的方法。incr和decr方法:对某一个值进行递增和递减
incrby和decrby方法:对某个值进行指定长度的递增和递减append [name]方法:字符串追加方法
strlen [name]方法:获取字符串的长度

Incrby key [步长 可为正负数]

Incrby key 3  (加入key是20,输入后是23)

2.2 Hash类型(最常用)

Hash类型是String类型的field和value的映射表,或者说一个String集合。它的特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里要比存储在String类型里占用更少的内存空间,并方便存取整个对象。
形如: hset myhash field1 hello(含义是hset是hash集合,myhash是集合名字field1是字段名 hello为其值)使用hget myhash field1获取内容,也可以存储多个值。hmset可以进行批量存储多个键值对: hmset myhash sex nan addr beijing,也可使用hmget进行批量获取多个键值对。
同样也有hsetnx,和setnx大同小异。hincrby和 hdecrby集合递增和递减。
hexists是否存在key如果存在返回不存在返回0hlen返回hash集合里的所有的键数值
hdel 删除指定hash的field
hkeys返回hash里所有的字段hvals返回hash的所有value
hgetall返回hash里所有的key和value
 

如果每次去一条数据,可以将一整条数据,可以使用json

如果每次取某几个字段,就细粒度话,每个字段都存

2.3List类型

List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。更详细的说,List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,list的设计非常简单精巧,即可以做为栈,又可以作为队列。满足绝大多数需求。
lpush方法:从头部加入元素(栈)先进后出
形如: lpush list1 "hello" lpush list1 "world"
lrange list1 0-1(表示从头取到末尾)
rpush方法:从尾部加入元素(队列)先进先出
形如:rpush list2 "beijing" rpush list2 "sxt"
lrange list2 0-1
linsert方法:插入元素
形如: linsert list3 before[集合的元素][插入的元素

lset方法:将指定下标的元素替换掉
 

lrem方法:删除元素返回删除的个数
 

 

2.4set和zset集合

 

 

 

 

Zset 和set 的区别 set无序,zset有序 

 

zadd zset名 序号 值

Zset 可以做搜索排行

 

 

 

 

 

举报

相关推荐

0 条评论