Redis的五种数据类型介绍

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

String类型

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

set和get方法:

      设置值:set  name shb 取值 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 594859595@qq.com

   setrange email 10 ww (10表示从第几位开始替换,后面跟上替换的字符串)

使用一次性设置多个和获取多个值的msetmget方法:

     mset hey1 bhz key2 bai key3 28:对应的mget key1 key2 key3方法对应的也有msetnx和mget方法。

一次性设置和取值的getset方法:

    set key4 cc

     getset key4 changchun 返回旧值并设置新值的方法。

     incrdecr方法:对某一个值进行递增和递减

     incrbydecrby方法:对某个值进行制定长度的递增和递减

     append[name]方法:字符串追加方法

     strlen[name]方法:获取字符串的长度

Hash类型(工作中常用类型)

Hash类型是String类型的field和value的映射表,或者说一个String集合。它的特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里要比存储在String类型里占用更少的内存空间,并方便存取整个对象。

形如:hset myhash field1 hello (含义是hset是hahs集合,myhash是集合名字,field1是字段名hello为其值)使用hget myhash field1获取内容,也可以存储多个值。hmset可以进行批量存储多个键值对:hmset myhash sex nan addr beijing,也可使用hmget进行批量获取多个键值对。

同样也有hsetnx,和setnx大同小异。

hincrby和hdecrby集合递增和递减。

hexists是否存在jey如果存在返回  不存在返回0

hlen返回hash集合里的所有的键数值

hdel删除指定hash的field

hkeys返回hash里所有的字段

hvals返回hash的所有value

hgetall返回hash里所有的key和value

 

List类型

List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等,更详细地说,List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,list的设计非常简单精巧,既可以做为栈,又可以作为队列。满足绝大多数需求。

lpush方法:从头部加入元素(栈)先进后出

      形如:Ipush list1 "hello" Ipush list1 "world"

                 lrange list1 0 -1(表示从头取到末尾)

rpush方法:从尾部加入元素(队列)先进先出

      形如:rpush list2 "song" rpush list2 "haibo"

                 lrannge list2 0 -1

linsert方法:插入元素

      形如:linsert list3 before [集合的元素][插入的元素]

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

    形如:lset list1 0 "b"

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

    形如:lrem list1 0 "b"

ltrim方法:保留指定key的值范围内的数据

    形如:ltrim list1 2 3

lpop方法:从list的头部删除元素,并返回删除元素

    形如:lpop list1 "my"

rpop方法:从list的尾部删除元素,并返回删除元素

    形如:rpop list1 "you"

lindex方法:返回名称为key的list中index位置的元素

    形如:lindex list1 1

set类型和zset类型

set集合是String类型的无序集合,set是通过hashtable实现的,堆积和我们可以取交集、并集、差集。

sadd方法:向名称为key的set中添加元素

     小结:set集合不允许重复元素smembers查看set集合的元素

srem方法:删除set集合元素

spop方法:随即返回删除的key

sdiff方法:返回两个集合调的不同元素(那个集合在前面就以哪个集合为标准)

sdiffstore方法:将返回的不同元素存储在另外一个集合里

sinter方法:返回集合的交集

sinterstroe方法:返回交集结果,存入set3中

sunion方法:取并集

sunionstore方法:取得并集,存入set3中

smove方法:从一个set集合移动到另一个set集合里

scard方法:查看集合里元素个数

sismember方法:判断某元素是否为集合中的元素

zset有序集合可以做搜索排行

zadd向有序集合中添加一个元素,该元素如果存在,则更新顺序

等等一些的方法,感谢观看!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值