首页 > 数据库 >redis

redis

时间:2024-07-18 16:31:55浏览次数:10  
标签:redis Redis 链表 集合 添加 字符串

1.redis的数据类型
简介:Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
它支持多种类型的数据结构,如 字符串(strings),散列(hashes), 列表(lists),集合(sets),有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

(1)String字符串
Redis 字符串是字节序列。Redis 字符串是二进制安全的,这意味着他们有一个已知的长度没有任何特殊字符终止,所以你可以存储任何东西,512 M为上限,主要的还是操作键值对。
String的数据结构是简单的Key-Value模型,Value可以是字符串,也可以是数字。

(2)哈希
Redis 的哈希是键值对的集合。
Redis 的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象,还有用户信息之类的,经常变动的信息。
Hash更适合用于对象的存储,String更适合字符串存储。
(3)list
Redis 的链表是简单的字符串列表,排序插入顺序。您可以添加元素到 Redis 的列表的头部或尾部
Lpush:表示的是向链表的左添加,也就是向链表的头添加;
Rpush:表示的是向链表的右添加,也就是向链表的尾添加;
(4)set
Redis 的集合是字符串的无序集合。
在Set集合当中,是不允许有重复的。
set是通过hash table实现的,可以进行添加、删除和查找。对集合我们可以取并集,交集,差集.
(5)SortedSet( 有序集合) zset
Redis 的有序集合类似于 Redis 的集合,字符串不重复的集合。

2.持久化的方案
RDB(快照)
AOF(日志)

3.集群
三个种类
主从模式、哨兵模式、三主三从模式(保证系统的高可用,保证系统不会掉,所以需要搭建集群)

4.三种问题
击穿,穿透,雪崩

redis学习链接:https://blog.csdn.net/weixin_43246215/article/details/108041739

学习方式(建议)
1.官方网站
2.其他人的博客
3.看视频(B站)

标签:redis,Redis,链表,集合,添加,字符串
From: https://www.cnblogs.com/candy18/p/18264666

相关文章

  • 记一次 redis 事件注册不当导致的内存泄露
    线上的程序跑着跑着内存越来越大,并且没有下降的趋势,重启一下程序也只能短暂恢复。通过htop命令再按一下M键按内存占用大小排个序,程序会占好几个G。那好,让我们来分析一下。收集dump通过top或htop进程管理器,或ps命令查找到目标进程id,然后使用如下命令生成dump:created......
  • docker-compose -- 创建 redis && mysql
    version:'3'services:nest-admin-web:image:buqiyuan/vue3-antdv-admin:stablecontainer_name:nest-admin-webvolumes:-./deploy/web:/etc/nginx/conf.dports:-'80:80'restart:alwaysnetworks:......
  • redis学习-12(实现分布式锁、消息队列、缓存一致性问题、单线程快的原因、跳跃表)
    引用以下内容:redis实现分布式锁:Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案)Redis实现分布式锁的7种方案,及正确使用姿势!redis实现消息队列Redis的学习教程(十)之使用Redis实现消息队列缓存一致性问题想要保证数据库和Redis缓存一致性,推荐采用先更新数......
  • redis学习-11(缓存)
    缓存的收益和成本分析收益:1)加速读写2)降低后端负载成本:1)数据不一致性2)代码维护成本3)运维成本使用场景:1)开销大的复杂计算2)加速请求响应缓存更新策略的选择和使用场景LRU/LFU/FIFO算法剔除:当缓存使用量大于预设的最大值时候,对现有数据进行剔除,一致性最差,维护成本低超时剔......
  • 如何使用Redis实现分布式锁
    在分布式系统中,保证多个进程或线程对共享资源的同步访问是一个常见问题。锁是一种常用的同步机制,但在单机环境中常用的锁机制在分布式系统中往往不再适用。Redis,作为一种高性能的键值存储系统,提供了实现分布式锁的可能。本文将介绍如何使用Redis实现分布式锁,并通过Java代码示例展......
  • 利用Redis Stream实现一个可靠的消息队列
    RedisStreams简介RedisStreams是Redis5.0引入的一种新数据结构,专门用于处理日志和消息流数据。它结合了多种数据结构的优点,提供了高效的消息存储和消费机制。RedisStreams可以用于实时数据处理、事件驱动的系统、日志聚合和消息队列等场景。主要特点持久化:redis的p......
  • redistemplate介绍与演示
    redistemplate是一个用于在Redis中存储和检索数据的模板库。它提供了一组简单易用的函数和接口,使开发者能够更方便地使用Redis进行数据操作。使用redistemplate,你可以实现以下功能:存储和检索数据:redistemplate提供了存储和检索各种类型数据的函数,包括字符串、哈希表、列表、......
  • Spring Boot+Redis 分布式锁:模拟抢单
    如何删除锁模拟抢单动作(10w个⼈开抢)jedis的nx⽣成锁对于java中想操作redis,好的⽅式是使⽤jedis,⾸先pom中引⼊依赖:<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId></dependency>对于分布式锁的⽣成通常......
  • redis学习-10(集群)
    数据部分rediscluster采用哈希分区规则,具体为虚拟槽分区,使用分散度好的哈希函数分到一个大范围的整数,每个节点负责一定数量的槽。slot=CRC16(key)&16383特点:解耦数据和节点之间的关系;节点自身维护槽的映射关系,不需要客户端和代理服务维护槽分区元数据;支持节点、槽、键之间的映......
  • Redis - 数据结构与底层实现
    一、Redis数据结构Redis支持五种主要数据结构:字符串(String)、列表(List)、哈希表(Hashe)、集合(Set)和有序集合(SortedSet)。这些数据结构为开发者提供了灵活的数据操作方式,满足了不同场景下的数据存储需求。字符串(Strings):最基本的数据类型,可以包含任何数据,如数字、字符串、二进制数据......