`
jieke_ZJ
  • 浏览: 43328 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

redis的基本数据结构有哪些,都有什么应用

 
阅读更多
1. String——字符串

String 数据结构是简单的 key-value 类型,value 不仅可以是 String,也可以是数字(当数字类型用 Long
可以表示的时候encoding 就是整型,其他都存储在 sdshdr 当做字符串)。使用 Strings 类型,可以完全实现目前 Memcached
的功能,并且效率更高。还可以享受 Redis 的定时持久化(可以选择 RDB 模式或者 AOF 模式),操作日志及 Replication 等功能。除了提供与
Memcached 一样的 get、set、incr、decr 等操作外,Redis 还提供了下面一些操作:
2. Hash——字典

在 Memcached 中,我们经常将一些结构化的信息打包成 hashmap,在客户端序列化后存储为一个字符串的值(一般是 JSON
格式),比如用户的昵称、年龄、性别、积分等。这时候在需要修改其中某一项时,通常需要将字符串(JSON)取出来,然后进行反序列化,修改某一项的值,再序列化成字符串(JSON)存储回去。简单修改一个属性就干这么多事情,消耗必定是很大的,也不适用于一些可能并发操作的场合(比如两个并发的操作都需要修改积分)。而
Redis 的 Hash 结构可以使你像在数据库中 Update 一个属性一样只修改某一项属性值。

3. List——列表

List 说白了就是链表(redis 使用双端链表实现的 List),相信学过数据结构知识的人都应该能理解其结构。使用 List
结构,我们可以轻松地实现最新消息排行等功能(比如新浪微博的 TimeLine )。List 的另一个应用就是消息队列,可以利用 List 的 *PUSH
操作,将任务存在 List 中,然后工作线程再用 POP 操作将任务取出进行执行。Redis 还提供了操作 List 中某一段元素的
API,你可以直接查询,删除 List 中某一段的元素。

4. Set——集合

Set 就是一个集合,集合的概念就是一堆不重复值的组合。利用 Redis 提供的 Set
数据结构,可以存储一些集合性的数据。比如在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。因为 Redis
非常人性化的为集合提供了求交集、并集、差集等操作,那么就可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中。

1.共同好友、二度好友
2.利用唯一性,可以统计访问网站的所有独立 IP
3.好友推荐的时候,根据 tag 求交集,大于某个
threshold 就可以推荐
5. Sorted Set——有序集合

和Sets相比,Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score
进行有序排列,比如一个存储全班同学成绩的 Sorted Sets,其集合 value 可以是同学的学号,而 score
就可以是其考试得分,这样在数据插入集合的时候,就已经进行了天然的排序。另外还可以用 Sorted Sets 来做带权重的队列,比如普通消息的 score
为1,重要消息的 score 为2,然后工作线程可以选择按 score 的倒序来获取工作任务。让重要的任务优先执行。
分享到:
评论

相关推荐

    redis6.0基本数据结构源码.h

    总结《Redis深度历险:核心原理和应用实践》的基本数据结构源码 —— 对象结构

    redis内存存储结构分析

    redis缓存解决方案和基本命令,redisredis内存存储结构分析.Redis的数据全部放在内存带来了高速的性能,但是也带来一些不合理之处。比如一个中型网站有100万注册用户,如果这些资料要用Redis来存储,内存的容量必须...

    redis基本使用已经应用场景

    Redis 基本使用已经应用场景 Redis 作为一种 NoSQL 数据库,广泛应用于大数据时代的各种场景中。了解 Redis 的基本使用和应用场景对于开发者来说至关重要。本文将对 Redis 的基本概念、特点、应用场景进行详细的...

    Redis学习实践 - 超实用超详细

    Redis数据结构、原理分析、应用实战 什么是Redis Redis的作用 Redis的存储结构 Redis的安装 Redis的数据类型 字符串类型 列表类型 hash类型 集合类型 有序集合 Redis原理分析 过期时间设置 过期删除的原理 发布订阅 ...

    超详细Redis数据库入门教程.docx

    Redis 数据结构 – 字符串 字符串是 Redis 中最基本的数据类型,字符串的值可以是任何类型的数据,例如数字、文本、图像等。 Redis 数据结构 – 列表 列表是 Redis 中的一种复杂的数据类型,列表的值可以是多个字符...

    这本书详细介绍了如何使用Redis进行应用开发,从基础到高级主题都有涵盖 适合有编程经验但对Redis不太熟悉的开发者

    书中不仅解释了 Redis 的基本概念和数据结构,还展示了如何在实际应用中有效地使用 Redis。作者 Dr. Josiah L. Carlson 是 Redis 领域的专家,具有丰富的实际开发经验,他通过本书分享了大量的实用技巧和最佳实践。 ...

    Redis实战中文版

    首部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战 中文完整版

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    redis分布式缓存中间件培训PPT

    2. 排行榜系统 – Redis提供了列表和有序集合数据结构,合理地使用这些数据结构可以很方便地构建各种排行榜系统。 3. 计数器应用 – Redis天然支持计数功能而且计数的性能也非常好,可以说是计数器系统的重要选择。 ...

    db redis Redis实战

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    redis基本命令的简单分享

    Redis 是一个高性能的键值对数据库,它支持多种类型的数据结构,如字符串、列表、集合、有序集合和哈希表。以下是 Redis 的简要介绍: ### 特点: - **内存中数据存储**:主要数据存储在内存中,读写速度快。 - **...

    redis学习笔记.pdf

    2. 基于键值对的数据结构服务器:Redis提供了5种数据结构:字符串、哈希、列表、集合、有序集合,同时在字符串的基础之上演变出了位图(Bitmaps)和HyperLogLog两种“数据结构”,并且随着LBS (Location BasedService...

    《Redis 深度历险》学习笔记与实践(Java)

    1-2.Redis应用 — Redis基本数据结构 1-3.Redis应用 — 分布式锁 1-4.Redis应用 — 延时队列 1-5.Redis应用 — 位图 1-6.Redis应用 — HyperLogLog 1-7.Redis应用 — 布隆过滤器 1-8.Redis应用 — 简单限流 1-9....

    Redis全套学习笔记

    redis是一个以key-value存储的数据库结构型服务器,它支持的数据结构类型包括:字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等。为了保证读取的效率,redis把数据对象都存储在...

    redisStudy.zip

    加分项:另外redis还对这几种数据结构做了扩展,如GEO对位置计算,hyperLogLog做统计,bitmaps:redis底层存储value值都是存储的二进制数据,redis提供bitmaps(位图)可以直接访问或修改底层存储的二进制数据 ...

    redis实战

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战.azw3

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    Redis实战(中文) PDF

    第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。...

    62道Redis高频题整理(附答案背诵版).md

    这些面试题涵盖了Redis的核心概念、数据结构、持久化、集群、优化和实际应用等多个方面,帮助候选人全面掌握Redis知识,提升面试通过率。 1. **Redis简介及基本概念** - 什么是Redis?其主要特点是什么? - Redis...

Global site tag (gtag.js) - Google Analytics