IT培训网-IT职场人学IT技术上IT培训网

编程硬核资料库,
随查随看随问答!

免费咨询 0元入学 助学贷款 就业保障 视频下载

Redis的基本数据类型都有哪些?

提供专门助学计划,帮助快速进入IT行业,实现人生华丽转身

学IT技术,做互联网行业精英

Redis的基本数据类型都有哪些?

0基础进入互联网行业的捷径

选择IT行业
就是选择更傲娇的人生

IT行业均薪领跑7大传统行业

  • 去年各行业月收入对比

  • 今年IT各技术方向行业平均薪资

去年各行业月收入对比

怎样快速入行IT技术 怎样快速入行

今年IT各技术方向行业平均薪资

Redis的基本数据类型都有哪些?

哪些人更适合学IT技术?

12大热门IT技术课程,总有一个适合你

Redis的基本数据类型都有哪些?

先就业后付款
Redis的基本数据类型都有哪些?

IT培训网面向所有课程学员提供先就业后付款学习方案,保证学员稳定就业,可谓0学费!免除学习压力。

正文:

何为Redis?Redis的基本数据类型都有哪些?今天这篇文章就来介绍一下Redis的五种基本数据类型。

Redis的五种基本数据类型:

1、字符串(strings)

绝大部分编程语言中都少不了的基本数据类型就是字符串(strings),数据库Redis也不例外。下面我们来看一下关于字符串的基本操作:

set key value 设置值

get key 获取某个key的值

mset key1 value1 key2 value2 批量设置并且是原子的,可以用来减少网络时间消耗

mget key1 key2 批量获取并且是原子的,可以用来减少网络时间消耗

incr key 自增指定key的值

decr key 自减指定key的值

incrby key value 自增指定数值

decrby key value 自减指定数值

incrbyfloat key floatvalue 增加指定浮点数,前面几个操作就可以用来实现计数器的功能。

setnx key value 如果不存在该key则可以设置成功,否则会失败,加上过期时间限制,则是redis实现分布式锁的一种方式(后面会提到)。

set key value xx 与前面相反,如果存在则设置成功,否则失败(相当于更新操作)

2、散列(hashes)

我们可以把hash理解为小型Redis,Redis在底层实现上和Java中的HashMap差不多,都是使用数组+链表的二维结构实现的。不一样的是,在Redis中字典的值只能是字符串,而且他们rehash的方式也不同,在Redis中使用的是渐进式rehash。

hset key field value 设置字典中某个key的值

hsetnx key field value 设置字典中某个key的值(不存在的)

hmset key field1 value1 field2 value2 … 批量设置

hget key field 获取字典中某个key的值

hmget key field1 field2 批量获取

hgetall key 获取全部

hdel key field 删除某个key

hexists key field 判断是否存在

hlen key 获取指定key对应的字典中的存储个数

hvals key 返回所有的value

hkeys key 返回所有的key

hincrby key field increValue 增加某个value的值(也可以增加负数)

hincrbyfloat key field floatValue 增加某个value的值(浮点数)

3、列表(lists)

Redis中的列表相当于Java中的LinkedList,也就是底层是通过链表来实现的,所以对于list来说插入删除操作很快,但索引定位非常慢。Redis提供了许多对于list的操作,如出入等操作,你可以充分利用它们来实现一个栈或者队列。

lpush key item1 item2 item3… 从左入栈

rpush key item1 item2 item3… 从右入栈

lpop key 从左出栈

rpop key 从右出栈

lindex key index 获取指定索引的元素 O(n)谨慎使用

lrange key start end 获取指定范围的元素 O(n)谨慎使用

linsert key before|after item newitem 在指定元素的前面或者后面添加新元素

lrem key count value 删除指定个数值为value的元素

count = 0 :删除所有值为value的元素

count > 0 :从左到右删除 count 个值为 value 的元素

count < 0 :从右到做删除 |count| 个值为 value 的元素

ltrim key start end 保留指定范围的元素

lset key index newValue 更新某个索引的值

blpop key timeout 没有则阻塞(timeout指定阻塞时间 为0代表永久)

brpop key timeout 没有则阻塞(timeout指定阻塞时间 为0代表永久) 这两个可以用来实现消费者生产者

4、集合(sets)

Redis中的set相当于Java中的HashSet(无序集合),其中里面的元素不可以重复,我们可以利用它实现一些去重的功能。我们还有对几个集合进行取交集,取并集等操作,这些操作就可以获取不同用户之间的共同好友、共同爱好等等。

sadd key value 添加元素

sdel key value 删除某个元素

sismember key value 判断是否是集合中的元素

srandmember key count 随机获取指定个数的元素(不会影响集合结构)

spop key count 从集合中随机弹出元素(会破坏结合结构)

smembers key 获取集合所有元素 O(n)复杂度

scard key 获取集合个数

sinter set1 set2 … 获取所有集合中的交集

sdiff set1 set2 … 获取所有集合中的差集

sunion set1 set2 … 获取所有集合中的并集

5、有序集合(zset)

Redis 中的 zset 是一个有序集合,通过它可以实现很多有意思的功能,比如学生成绩排行榜,视频播放量排行榜等等。zset 中是使用 跳表 来实现的,我们知道只有数组这种连续的空间才能使用二分查找进行快速的定位,而链表是不可以的。跳表帮助链表查找的时候节省了很多时间(使用跳的方式来遍历索引来进行有序插入)。

以上这篇文章就是介绍的关于Redis的五种基本数据类型,希望对于想要了解Redis基本数据类型的有所帮助。

IT技术学员就业薪资

13000
薪资

姓名:左*飞
学历:专科
专业:理学与信息科学学院
薪资:13000
入职单位:北京惠信数据

数据来自学员真实就业
拒绝以偏概全

姓名 学历 入职单位 专业 薪水 福利
刘*东 专科 保密 信息工程系 12000 五险一金
刘*东 专科 保密 信息工程系 12000 五险一金
刘*东 专科 保密 信息工程系 12000 五险一金
了解更多学员毕业薪资

多种班型任选,上课方式灵活

Redis的基本数据类型都有哪些?

学习就业全方位服务,IT培训选更省心的机构

Redis的基本数据类型都有哪些?

教学研发

1 项目经理跟班
2 大咖讲师面授
3 名企特聘教学
4 企业场景实操

具体有哪些服务内容

品质保障

1 1对1指导
2 模拟面试
3 职业发展规划
4 终生技术提升

具体有哪些服务内容

就业服务

1 企业定制
2 名企双选会
3 上门招聘
4 企业内推

具体有哪些服务内容

21大课程全新全套学习资料限时免费下载

价值千元学习视频,其他机构花钱买,IT培训网免费送

每年2万人因口碑选择IT培训网学IT

Redis的基本数据类型都有哪些?

在乎每一位学员的职业梦想,坚持教育初心

20000
年培养学员
5000
同期在校学员
16
培训中心遍布全国
20
开设培训中心
500
合作院校
10000
合作企业
12
目前开设课程
200
讲师团队

你关心的问题都在这里

就业优势 就业优势

一地学习 全国就业

· 就业保障体系覆盖全国,
· 10000多家合作企业定期招聘,
· 学员就业可随心选择。

不同的城市
同样的全程面授
IT培训网始终在坚持

· 全国各校区讲师统一管理,招聘标准一致,
· 课程大纲全范围内定期升级更新,
· 保障学员学习质量