Redis学习笔记4:Redis的五种基本数据类型

作者: 云中布衣   分类:  学习笔记    热度: (400℃)   时间: 2017-7-22 1:11   标签: #Redis学习笔记    

Redis一共有五种基本数据类型:String、Hash、List、Set、ZSet。

第一种基本类型、String

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

1)set和get方法:

set name realValue(设置值)
get name(取值)

说明:set设置name的时候,如果name重复,设置的值会进行覆盖。

2)setnx 方法

setnx name realValue(设置值)

说明:如果这个name已经存在,不会进行覆盖,直接返回0.如果name不存在才会插入新的值。

3)setex方法

setex name time(秒) realValue(设置值)

说明:设置这个name的value在缓存中存在的过期时间,过了这个时间后返回nil。在redis中nil标示null的意思。

4)setrange方法:替换字符串

set email 123456@qq.com
setrange email 10 ww (表示从第几位开始替换成后面的字符串)

说明:此时把123456@qq.com替换成123456@qq.wwm

第二种基本类型、Hash

Hash类型是String类型的filed和value的映射表,或者说是一个String的结合,他特别适合存储对象。相比较而言把一个对象存储在Hash类型中要比直接存储在String中更加节省空间。并方便存储整个对象,Hash类型也是我们工作中最常用的一种。

1)hset user name ming  (设置一个Hash类型叫做user,这个user的属性name的值是ming)

2)hget user  name (获取Hash对象user中的name属性的值)

3)hmset可进行批量存储多个键值对。hmset user age 15 sex man

4)hmget可进行批量获取多个键值对。hmget user name age sex

5)Hash类型中同样也有hsetnx,他和setnx大同小异。

6)hincrby和hdecrby集合递增和递减。

7)hexists 如果存在返回1,不存在返回0

8)hlen 返回hash中所有键的数值。

9)hkeys返回hash中的所有键。

10)hvals 返回Hash中所有的值。

11)hgetall返回Hash中所有的键和值。

第三种基本类型、List

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

1)lpush方法:从头部添加元素,(栈)先进后出。

lpush list hello (从头部添加元素)

说明:创建一个name为list的栈,并且入栈一个hello

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

lpush list2  hello  (从尾部添加元素)

说明:创建一个name为list2的队列,并且入栈一个hello

3)lrange方法:查看list中的值

4)linsert list2 before [集合的元素] [要插入的元素]

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

6)lrem方法:删除制定元素,并且返回删除元素的个数。

7)lpop方法:从List头部删除元素,并且返回删除的元素。

8)rpop方法:从List尾部删除元素,并且返回删除的元素。

9)llen方法:返回元素的个数。

10)lindex方法:返回名称为key的元素在List中的index位置的元素。lindex  list2 0 返回第一个元素

第四种类型、Set

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

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

小结:set集合不允许重复元素,

2)smembers查看set中的所有元素。

3)srem方法  删除set集合元素。srem name 值

4)spop方法 随机返回删除的key

5)sdiff返回两个集合不同元素,哪个集合在前面就以哪个集合为标准。

6)sdiffstore 将返回的不同元素存储在另一个集合里面。 sdiffstore set3 set1 set2 。吧1和2的不同元素存储在3中

7)sinter 返回两个集合的交集。sinter set1 set2 返回set1中和set2中的交集元素。

8)sinterstore 将返回的交集存储在一个新的集合中

9)smove方法:从一个set集合中移动元素到另一个set集合中 smove set2 set1 bbb 将set2中的bbb移动到set1中。

10)scard方法:查看集合中元素的个数。

第五种类型、ZSet

Zset是在set的基础上做了一个有序的调整。

1)zadd方法:向有序集合中添加一个元素,如果该元素存在,就更新顺序。

小结:在重复插入的时候会根据顺序属性更新。

语法:zadd set1 1 aaa   其中的1代表序号。 就是排序的序号。aaa代表集合的值,set1代表集合的名字。

2)zrange 方法,查看集合中的值 zrange set1 0 -1 withscores

说明:withscores代表把序号也查询出来,不想显示序号可以不加。

3)zrem方法  删除集合中的元素。

更多Redis命令信息请移步官网https://redis.io/commands

(完?)

额~~~还没完,强行插一张图片,首页或许好看些……

选区_104.png

(完)

56.8K

发表评论:

© 云中布衣 2015 | Driven by EMLOG  | SiteMap | RunTime: 7.91ms RSS  | MORE  |   | TOP

文章数量【258】 评论数量【238】 稳定运行【1208天】

Visitor IP Address【54.196.190.32】

Email:ieeflsyu#outlook.com