redis中5种数据类型介绍、命令(二)

来源:互联网 发布:无损音乐剪切软件 编辑:程序博客网 时间:2024/05/16 11:30

这篇博客学习redis的基本命令,主要是讲解五种数据类型。

redis提供五种数据类型:string,hash,list,set及zset(sorted set)。下面对5种类型分别介绍。

在介绍五种数据类型前,我们先来了解一下redis的几个基本的命令,感受一下。个人建议,边看redis的命令,边在redis-cli程序中输入命令,

还是那句话,代码是敲出来的。

注:redis中命令不区分大小写


基本命令

1. 查看redis中所有键命令

keys *查看所有键

keys a*查看所有以a开头的键

2. 判断键是否存在

exists aa判断键名为aa的是否存在。返回值为1,表示存在;0表示不存在。

3. 查看键值的数据类型

type aa

返回值有五种情况。string,字符串类型;hash,散列类型;list,列表类型;set,集合类型;zset,有序集合类型。


五种数据类型

一. 字符串类型

类型介绍

字符串类型是redis中最基本的数据类型,可以存储任何格式的的字符串包括二进制数据,如用户信息、JSON格式的对象等等。一个字符串键值最大存储

512MB字节数据。


操作命令

1. 赋值:set name zhangsan为键name,赋值为zhangsan

2. 取值:get name获取键name的值(当键name不存在时返回空)

3. 向尾部追加值:append name nihao向键name的值后追加nihao字符串

4. 获取字符串长度:strlen name获取键name的值的长度,若键name不存在返回0

5. 同时赋多个值:mset aa 11 bb 22 cc 33同时为键aa,bb,cc分别赋值为11,22,33

6. 同时取多个值:mget aa bb同时获取键aa,bb的值

7. 当存储的字符串为整数时,可以使用递增:incr aa对键aa进行递增,返回值12(若键是字符串会报错)

8. 递减:decr aa对键aa进行递减

9. 删除:del aa删除键aa


二. 散列类型

类型介绍

redis是采用键值对的方式存储数据,散列类型也是也是键值对存储的,字段值支持字符串类型。散列类型适合存储对象。


操作命令

1. 赋值:hset dog name zhangsan为dog键name,赋值为zhangsan

2. 取值:hget dog name 获取dog键name的值

3. 批量赋值:hmset dog sex 1 age 5向dog键sex和age赋值,1和5

4. 批量获取值:hmget dog sex age批量获取dog键sex和age值

5. 获取指定key的所有键和键值:hgetall dog获取dog的所有键和键值

6. 判断字段是否存在:hexists dog age存在返回1,不存在返回0

7. 键值增加:hincrby dog age 8为dog的age加上8

8. 删除:hdel dog sex删除成功返回1,不存在返回0

9. 只获取字段集合:hkeys dog获取dog下所有字段名

10. 只获取字段值集合:hvals dog获取dog下所有字段对应值

11. 获取字段的数量:hlen dog获取dog下字段的个数


三. 列表类型

类型介绍

列表类型存放有序的字符串列表集合,常用的操作向列表的两端插入数据,或者获取列表的某段数据。


操作命令

1. 向列表的左边(前面)添加:lpush hospital 1为hospital的左边添加元素

2. 向列表的右边(后面)添加:rpush hospital 2为hospital的右边添加元素

3.从列表左边弹出数据:lpop hospital弹出数据把数据返回,同时删除掉

4.从列表右边弹出数据:rpop hospital弹出数据把数据返回,同时删除掉

5. 获取列表中元素个数:llen hospital 获取hospital中元素个数

6. 获取列表中某段数据:lrange hospital 0 2获取hospital从0开始到2(共计3个元素),列表是从0开始。若lrange hospital 0 -1,查询所有

7. 删除:lrem hospital 0 2 从左边开始删除第一个为2的元素(注:redis没有rrem命令)

8. 获取指定索引的元素值:lindex hospital 2获取hospital中索引为2的元素

9. 设置指定索引的元素值:lset hospital 1 9设置hospital中索引为1的元素值为9

10. 只保留指定索引间元素(其它全删):ltrim hospital 1 2只保留索引1到2之间的元素,其它全部删除

11. 向列表中插入元素:

12. 将元素从一个列表转换到另一个列表:


四. 集合类型

类型介绍

集合类型中每个元素都是不同的,且没有顺序。集合类型最常用的操作是向集合中添加、删除元素,判断集合中是否存在某个元素。


操作命令

1. 添加:sadd mail a 为mail添加元素a

2. 删除:srem mail a 删除mail中元素a

3. 获取集合中所有元素:smembers mail获取mail中所有元素

4. 判断元素是否在集合中:sismember mail a判断mail集合中是否有元素a,存在返回1,不存在返回0

5. 多集合间计算差集:sdiff mail mailA

6. 多集合间计算交集:sinter mail mailA

7. 多集合间计算并集:sunion mail mailA
8. 获得集合中元素个数:scard mail
9. 集合运算并将结果存储:sdiffstore
10. 随机获取集合中元素:srandmember mail
11. 从集合中弹出一个元素:spop mail

五. 有序集合类型

类型介绍

有序集合相对集合是有顺序的。有序集合中每个元素都关联了一个分数,集合中每个元素都是不同的,但是分数可以相同。


操作命令

1. 添加:zadd scoreboard 90 aa 80 bb 95 cc

2. 获得元素分数:zscore scoreboard aa

3. 获取某个范围:zrange scoreboard 0 2




0 0
原创粉丝点击