ToB企服应用市场:ToB评测及商务社交产业平台

标题: Redis概述及基本数据结构 [打印本页]

作者: 张春    时间: 2022-6-23 18:14
标题: Redis概述及基本数据结构
SQL vs NoSQL

认识 Redis

Redis 是一个基于内存的键值型 NoSQL 数据库
特征:
Redis 数据结构

Redis是一个 key-value 的数据库,key 一般是 String 类型,不过 value 的类型多种多样:
名称示例Stringhello worldHash{name: “Jack”, age: 21}List[A -> B -> C]Set{A,B,C}SortedSet{A: 1, B: 2, C: 3}[问题]:Redis 没有类似 MySql 中的 Table 的概念,要怎么区分不同类型的 key 呢?
[解决方法]:Redis 的 key 支持有多个单词形成层次结构,多个单词之间用“ :”隔开。例如 myproduct:user:1 myproduct:product:1
KEYVALUEmyproduct:user:1{"id": 1, "name": "Jack", "age": 21}myproduct:product:1{"id": 1,"name": "小米11", "price": 4999}Redis 通用命令

String 类型

String 类型介绍

String 类型是 Redis 中最简单的存储类型,其 value 是字符串。不过根据字符串格式不同,又具体分为三类:
String 类型常见命令

Hash 类型

Hash 类型介绍

Hash 类型,也叫散列,其 value 是一个无序字典,类似于 Java 中的 HashMap 结构。Hash 结构可以将对象中的每个字段独立存储,可以针对单个字段做 CRUD。
Hash 类型常用命令

List 类型

List 类型介绍

Redis 中的 List 类型与 Java 中的 LinkedList 类似,可以看做是一个双向链表结构。既可以支持正向检索和也可以支持反向检索。其特征也与 LinkedList 类似。
List 类型常用命令

Set 类型

Set 类型介绍

Redis的Set结构与Java中的HashSet类似,可以看做是一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征。
Set 类型常用命令

SortedSet 类型

SortedSet 类型介绍

Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类似,但底层数据结构却差别很大。SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加 hash表。
其具备以下特征:
因为SortedSet的可排序特性,经常被用来实现排行榜这样的功能。
SortedSet 类型常用命令

注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4