Redis数据类型

1.redis数据类型概述

数据类型存储的值读写能力
String可以是字符串、整数或浮点,统称为元素

对字符串操作

对整数类型加减

List一个序列集合且每个节点都包好了一个元素

序列两端推入、或弹出元素

修剪、查找或移除元素

Set各不相同的元素从集合中插入或者删除元素
Hash有key-value的散列组,其中key是字符串,value是元素按照key进行增加删除
Sort Set带分数的score-value有序集合,其中score为浮点,value为元素集合插入,按照分数范围查找

2.string类型具体操作

【1】string类型概述

keyvalue(string/int/float)

【2】设置(set命令)或获取(get命令)string类型的值

H:\>cd redis
H:\Redis>redis-cli.exe -h 127.0.0.1 -p 6379  //连接redis服务 -h 服务器地址 -p 端口号
127.0.0.1:6379> set string1 yejianfeng
OK
127.0.0.1:6379> get string1
"yejianfeng"
127.0.0.1:6379>

【3】string类型的数字计算(增加incr,减值decr)

127.0.0.1:6379> set string2 4  //设置string2为4
OK
127.0.0.1:6379> get string2
"4"
127.0.0.1:6379> incr string2  //string2自增(默认加1)
(integer) 5
127.0.0.1:6379> get string2
"5"
127.0.0.1:6379> decrby string2 2  //string2减去2
(integer) 3
127.0.0.1:6379> get string2
"3"

2.list类型具体操作

【1】list类型概述

有序列表,有序指的是从左到右还是从右到左,允许从列表的左边或右边推入或弹出元素

 

【2】从左边推入元素,从右边弹出元素

//使用lpush是从边推入,rpop是从右边退出
//队列的结构是先进先出
127.0.0.1:6379> lpush list1 12  //从左边推入元素12
(integer) 1
127.0.0.1:6379> lpush list1 13  //从左边推入元素13
(integer) 2
127.0.0.1:6379> rpop list1     //从右边弹出元素,结果弹出第一个是12,说明了队列是先进先出
"12"   

//list里面可以存在相同的元素,这一点与set类型不同                         
127.0.0.1:6379> lpush list 12
(integer) 1
127.0.0.1:6379> lpush list 13
(integer) 2
127.0.0.1:6379> lpush list 13
(integer) 3
127.0.0.1:6379> llen list   //获取list的长度为3
(integer) 3

3.set类型的具体操作

set类型提供了无序的方式才存储多个不同的元素,在set类型中每个元素的值都不一样,用户可以快速的对元素中的值进行添加、删除以及检查一个元素是否在这个集合中

 

127.0.0.1:6379> sadd set1 12  //往集合set1中添加元素12
(integer) 1
127.0.0.1:6379> scard set1   //查看集合set1的长度
(integer) 1
127.0.0.1:6379> sadd set1 13  
(integer) 1
127.0.0.1:6379> sadd set1 13  //第二次集合set1中添加元素13,返回0,表示插入失败,表名set集合的元素各不相同
(integer) 0
127.0.0.1:6379> scard set1  //返回2,set1中只有两个元素
(integer) 2
127.0.0.1:6379> sismember set1 13   //判断set1中是否有13这个元素
(integer) 1
127.0.0.1:6379> srem set1 13    //删除set1中13这个元素
(integer) 1
127.0.0.1:6379> sismember set1 13   //13已经不再set1集合当中了
(integer) 0

4.hash类型的具体操作

哈希类型也叫作散列类型,让用户能将多个键值对存储到redis键里面去,键值对的键是字符串,值是元素。

最常用的哈希命令包括

  • 添加、删除键值对的命令
  • 获取所有键值对的命令
  • 对键值对中的值自增自减的命令
127.0.0.1:6379> hset hash1 key1 12  //给键hash1添加键值对(key1:12)
(integer) 1
127.0.0.1:6379> hget hash1 key1      //获取键hash1中键为key1的值
"12"
127.0.0.1:6379> hset hash1 key2 13
(integer) 1
127.0.0.1:6379> hset hash1 key3 13
(integer) 1
127.0.0.1:6379> hlen hash1         //获取hash1的键值对的个数
(integer) 3
127.0.0.1:6379> hset hash1 key3 14  //修改hash1中键为key3的值
(integer) 1
127.0.0.1:6379> hget hash1 key3
"14"
127.0.0.1:6379> hmget hash1 key1 key2  //获取hash1中键为key1,key2的值
1) "12"
2) "13"

5.sort set类型具体操作

sort set类型也叫有序分数集,塔河哈希类型很相似,它存储的也是一个映射,它的映射是分数和元素的映射,分数是浮点型的,

sort set 可以看做一个排行榜,排行榜还隐藏了一个排行的属性。

【1】value 是全局唯一

【2】若两个value的分值一样,那就按照value的字典顺序排序

H:\Redis>redis-cli.exe -h 127.0.0.1 -p 6379
127.0.0.1:6379> zadd zset1 10.1 val1  //给zset1添加映射(10.1:val1)
(integer) 1
127.0.0.1:6379> zadd zset1 11.2 val2
(integer) 1
127.0.0.1:6379> zadd zset1 9.2 val3
(integer) 1
127.0.0.1:6379> zcard zset1  //查询zset1中元素个数
(integer) 3
127.0.0.1:6379> zrange zset1 0 2 withscores  //按照0-2排名的顺便打印分数
1) "val3"
2) "9.1999999999999993"
3) "val1"
4) "10.1"
5) "val2"
6) "11.199999999999999"
127.0.0.1:6379> zrank zset1 val2   //查看val2的排名
(integer) 2
127.0.0.1:6379> zadd zset1 12.2 val3   //修改val3的值改为12.2
(integer) 0
127.0.0.1:6379> zrange zset1 0 2 withscores  //按照0-2排名的顺便打印分数
1) "val1"
2) "10.1"
3) "val2"
4) "11.199999999999999"
5) "val3"
6) "12.199999999999999"
127.0.0.1:6379> zadd zset1 12.2  val2   //修改val2的值也改为12.2
(integer) 0
127.0.0.1:6379>  zrange zset1 0 2 withscores  val2==val3值,但是排名val2>val3
1) "val1"
2) "10.1"
3) "val2"
4) "12.199999999999999"
5) "val3"
6) "12.199999999999999"

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值