• Redis数据结构详解


    Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。

    Redis是一个速度非常快的非关系型数据库(non-relational database),它可以存储键(key)与5种不同类型的值(value)之间的映射(mapping),可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。

    非关系型数据库

    关系型数据库经常用来写关联两个表的数据的SQL查询,而Redis则属于人们常说的NoSQL数据库或者非关系数据库:Redis不使用表,它的数据库也不会预定义或者强制要求用户对Redis存储的不同数据进行关联。

    附加特性

    内存数据库,一个首要考虑的问题就是:当服务器关闭时,服务器存储的数据何去何从?

    Redis拥有两种不同形式的持久化方法,它们都可以用小而紧凑的格式将存储在内存中的数据写入硬盘:

    • 时间点转储(point-in-time-dump)
    • 写入只追加(append-only)文件里面

    扩展Redis的读性能,并为Redis提供故障转移(failover)支持,Redis实现了主从复制特性:执行复制的从服务器会连接上主服务器,接收主服务器发送的整个数据库的初始副本(copy);之后主服务器执行的写命令,都会被发送给所有连接着的从服务器去执行,从而实时地更新从服务器地数据集。因此客户端可以向任意一个从服务器发送读请求,以此来避免对主服务器进行集中式的访问。

    Redis数据结构简介

    Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为:

    • STRING(字符串)
    • LIST(列表)
    • SET(集合)
    • HASH(散列)
    • ZSET(有序集合)
    结构类型结构存储的值结构的读写能力
    STRING可以是字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作;对整数和浮点数执行自增(increment)或者自减(decrement)操作
    LIST一个链表,链表上的每个节点都包含了一个字符串从链表的两端推入或者弹出元素;根据偏移量对链表进行修剪(trim);读取单个或者多个元素;根据值查找或者移除元素
    SET包含字符串的无序收集器(unordered collection),并且被包含的每个字符串都是独一无二、各不相同的添加,获取,移除单个元素;检查一个元素是否存在于集合中;计算交集,并集,差集;从集合里随机获取元素
    HASH包含键值对的无序散列表添加、获取、移除单个键值对;获取所有键值对
    ZSET字符串成员(member)与浮点数分值(score)之间的有序映射,元素的排列顺序由分值的大小决定添加、获取、删除单个元素;根据分值范围(range)或者成员来获取元素

    Redis中的字符串

    字符串常用命令:

    • GET:获取存储在给定键中的值
    • SET:设置存储在给定键中的值
    • DEL:删除存储在给定键中的值(这个命令可以用于所有类型)

    image

    使用redis-cli:启动redis-cli客户端。

    Redis中的列表

    Redis对链表(linked-list)结构的支持使得它在键值存储的世界中独树一帜。一个列表结构可以有序地存储多个字符串

    列表常用命令:

    • RPUSH:将给定值推入列表地右端
    • LPUSH:将给定值推入列表地左端
    • LRANGE:获取列表在给定范围上的所有值
    • LINDEX:获取列表在给定位置上的单个元素
    • LPOP:从列表的右端弹出一个值,并返回被弹出的值
    • LPOP:从列表的左端弹出一个值,并返回被弹出的值

    image

    Redis的集合

  • 相关阅读:
    简单的咖啡文化静态HTML网页设计作品 DIV布局咖啡馆文化网页模板代码 DW咖啡网站制作成品
    Java项目:ssm汽车租赁系统
    分享Bitmap加载Drawable资源失败的解决方法
    教育教学论坛杂志教育教学论坛杂志社教育教学论坛编辑部2022年第39期目录
    低代码热潮下的冷思考:为何我们不能盲目追随
    图片在线制作轻松创作高品质图片,根据自己的需求去绘制编辑适合自己的图片
    D. Replace by MEX(MEX的性质)
    web前端期末大作业 HTML游戏资讯网页设计制作 简单静态HTML网页作品 DW游戏资讯网页作业成品 游戏网站模板
    企业网络系统工程
    Android学习笔记 79. 菜单和选择器
  • 原文地址:https://blog.csdn.net/wozaibohaibian/article/details/126203680