• Redis


    目录

    认识NoSQL

    认识Redis

    Redis数据结构介绍

    Redis通用命令

    String类型

    Hash类型

    List类型

    Set类型

    SortedSet类型


    认识NoSQL

    NoSql可以翻译做Not Only Sql(不仅仅是SQL),或者是No Sql(非Sql的)数据库。是相对于传统关系型数据库而言,有很大差异的一种特殊的数据库,因此也称之为非关系型数据库

    认识Redis

    Redis诞生于2009年,全称Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库.

    特征

    • 键值(key-value)型,value支持多种不同数据结构,功能丰富

    • 单线程,每个命令具备原子性

    • 低延迟,速度快(基于内存、IO多路复用、良好的编码)

    • 支持数据持久化

    • 支持主从集群、分片集群

    • 支持多语言客户端

    Redis数据结构介绍

    Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样

    Redis通用命令

    通用指令是部分数据类型的,都可以使用的指令,常见的有:

    • KEYS:查看符合模板的所有key

    • DEL:删除一个指定的key

    • EXISTS:判断key是否存在

    • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除

    • TTL:查看一个KEY的剩余有效期

    通过help [command] 可以查看一个命令的具体用法,例如:

    # 查看keys命令的帮助消息:
    127.0.0.1:6379> help keys
    ​
    KEYS pattern
    summary: Find all keys matching the given pattern
    since: 1.0.0
    group: generic

    String类型

    String类型,也就是字符串类型,是Redis中最简单的存储类型

    其value是字符串,不过根据字符串的格式不同,又可以分为3类:

    • string:普通字符串

    • int:整数类型,可以做自增自减操作

    • float:浮点类型,可以做自增自减操作

    不管是哪种形式,底层都是字节数组形式存储,只不过是编码方式不同.字符串类型最大空间不能超过512MB

    Hash类型

    Hash类型,也叫散列,其value是一个无序字典,类似Java中的HashMap结构.

    String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便

    Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD

    List类型

    Redis中的List类型与Java中的LinkedList类似,可以看做是一个双向链表结构.既可以支持正向检索,也可以支持反向检索

    特征

    • 有序

    • 元素可以重复

    • 插入和删除快

    • 查询速度一般

    常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等

    Set类型

    Redis的Set结构与Java中的HashSet类型,可以看做是一个value为null的HashMap.因为也是一个Hash表,因此具备与HashSet类型的特征:

    • 无序

    • 元素不可重复

    • 查找快

    • 支持交集,并集,差集等功能

    SortedSet类型

    Redis的SortedSet是一个可排序的set集合,与Java中的TreeSet有些类型,但底层数据结构差别很大.SortedSet中的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的实现是一个跳表(SkipList)加hash表.

    特征

    • 可排序

    • 元素不重复

    • 查询速度快

    因为有可排序功能,经常被用来实现排行榜的功能

  • 相关阅读:
    机器学习中基本符号表示和常用术语
    《Photoshop 2020从入门到精通》读书笔记1
    《最新出炉》系列入门篇-Python+Playwright自动化测试-42-强大的可视化追踪利器Trace Viewer
    2023.10.21 关于 阻塞队列
    yarn install:unable to get local issuer certificate
    Win10下pytorch环境搭建详细教程以及示例测试
    一、安装GoLang环境和开发工具
    PMP考试难度大吗?
    lightdb22.4-新增优化器提示cardinality 和ordered_predicates
    Unity数据加密☀️反射的用法:变量、属性、方法、重载,反射在DLL中的使用方法
  • 原文地址:https://blog.csdn.net/weixin_51971817/article/details/132645946