Redis
文章平均质量分 82
Redis
Java杨永杰
Java架构师,想要学习的技术点可以在评论区哦,会更新文章的~
展开
-
Redis Stream介绍
Redis Stream是Redis 5.0版本引入的一种数据结构,用于高效地处理流式数据。它是一个由有序消息组成的日志数据结构,可以实现高吞吐量的消息发布和订阅。原创 2023-12-29 12:22:03 · 844 阅读 · 0 评论 -
Redis 虚拟内存
虚拟内存(Virtual Memory)是一种计算机系统中的内存管理技术。它允许将物理内存(RAM)与磁盘上的存储空间(通常是硬盘)进行交换和合理利用。虚拟内存的基本原理是将进程的地址空间分为多个固定大小的块,称为页面(Page)。每个页面可以被加载到物理内存中或者从物理内存交换到磁盘上,以便为其他进程腾出内存空间。当一个进程需要访问某个页面时,如果该页面不在物理内存中,操作系统会将其从磁盘加载到内存中,然后执行对该页面的访问操作。原创 2023-12-29 11:37:06 · 943 阅读 · 0 评论 -
Redis持久化-AOF
Redis 提供了两种持久化的方式:RDB(Redis Database)和AOF(Append Only File)。RDB持久化:RDB 是 Redis 默认的持久化方式。它可以将当前数据库的所有数据保存到一个二进制文件中。你可以设置 Redis 定期执行 RDB 操作,也可以手动执行。RDB 的优点是文件小,可以很好地压缩,适用于备份和灾难恢复。缺点是可能会丢失最后一次持久化之后的修改数据。AOF持久化:AOF 将 Redis 的操作日志以追加的方式保存到一个文件中。原创 2023-12-15 15:52:44 · 723 阅读 · 0 评论 -
Redis 持久化-RDB
Redis 提供了两种持久化的方式:RDB(Redis Database)和AOF(Append Only File)。RDB持久化:RDB 是 Redis 默认的持久化方式。它可以将当前数据库的所有数据保存到一个二进制文件中。你可以设置 Redis 定期执行 RDB 操作,也可以手动执行。RDB 的优点是文件小,可以很好地压缩,适用于备份和灾难恢复。缺点是可能会丢失最后一次持久化之后的修改数据。AOF持久化:AOF 将 Redis 的操作日志以追加的方式保存到一个文件中。原创 2023-12-15 14:40:08 · 763 阅读 · 0 评论 -
Redis配置文件-通用配置
Redis配置文件是一个纯文本文件,它用于配置Redis实例的行为和属性。在启动Redis服务器时,Redis将读取配置文件并根据其内容配置自己,从而使您可以自定义Redis的行为和性能。daemonize:指定Redis是否应以守护进程模式运行。pidfile:指定守护进程的PID文件路径。port:指定Redis服务器监听的TCP端口号。bind:指定Redis服务器应绑定到的IP地址。timeout:指定Redis客户端超时时间。logfile:指定Redis日志文件路径。原创 2023-12-08 18:20:57 · 283 阅读 · 0 评论 -
Redis配置文件-网络相关配置
Redis 配置文件是一个文本文件,它包含了 Redis 所需要的所有配置参数。Redis 的默认配置文件名为 redis.conf,可以在 Redis 安装目录下找到。port:Redis 监听的端口号,默认为 6379。bind:Redis 绑定的 IP 地址,默认为 127.0.0.1,表示只能本机访问。requirepass:设置 Redis 访问密码。daemonize:是否以守护进程方式运行 Redis,默认为 no,即以非守护进程方式运行。原创 2023-12-08 18:17:45 · 357 阅读 · 0 评论 -
Redis新数据类型-HyperLogLog
Redis HyperLogLog是一种基数估计算法,可以在不显式存储每个不同元素的情况下统计元素的数量。它使用一定量的内存空间来维护一些统计信息,可以在O(1)时间内插入新元素,O(logN)时间内计算基数(即元素数量的估计值),并且可以进行交集、并集等操作。HyperLogLog适用于大型数据集的基数计数和近似统计分析。原创 2023-12-07 16:55:02 · 922 阅读 · 0 评论 -
Redis五种数据类型介绍
Redis有五种主要的数据类型,分别是:字符串(String):Redis的字符串是二进制安全的,可以包含任何数据,例如图片或者序列化的对象。可以通过增加、删除和获取字符串的值来实现对字符串的操作,同时也支持对字符串进行数学运算。列表(List):Redis列表是一个有序的数据组,可以在列表的两端添加或删除元素,它可以用来实现栈、队列等数据结构。集合(Set):Redis集合是一个无序的数据组,其中的元素是不重复的。可以对集合进行交、并、差等运算,同时也支持添加、删除元素或检查某个元素是否存在。原创 2023-12-02 15:02:10 · 717 阅读 · 0 评论 -
Redis分布式锁
数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。本文主要介绍了如何使用Java代码正确实现Redis分布式锁,对于加锁和解锁也分别给出了两个比较经典的错误示例。其实想要通过Redis实现分布式锁并不难,只要保证能满足可靠性里的四个条件。互联网虽然给我们带来了方便,只要有问题就可以google,然而网上的答案一定是对的吗?其实不然,所以我们更应该时刻保持着质疑精神,多想多验证。原创 2023-12-02 10:23:46 · 829 阅读 · 0 评论 -
Redis6.0新功能-ACL
Redis ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。在Redis 5版本之前,Redis 安全规则只有密码控制 还有通过rename 来调整高危命令比如 flushdb , KEYS* , shutdown 等。Redis 6 则提供ACL的功能对用户进行更细粒度的权限控制 :(1)接入权限:用户名和密码(2)可以执行的命令(3)可以操作的 KEY。原创 2023-11-27 11:27:29 · 333 阅读 · 0 评论 -
Redis缓存穿透,缓存击穿,缓存雪崩(全程无废话)
key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源,比如用一个不存在的用户id 获取用户信息不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库.一个一定不存在缓存及查询不到的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。原创 2023-11-27 10:36:11 · 1152 阅读 · 0 评论 -
什么是Redis红锁?(概念)
redis锁在单机情况下使用没问题,但是现在线上基本都是主从或者集群这样多节点的情况。如果是主从情况下,客户端A在主节点获得锁,此时主节点还未来得及将锁同步给其他从节点,就挂掉了。这时哨兵将另外一个从节点选举为主节点,选举完成后客户端B在新选举的从节点上又获得了锁,这个时候就会出现同时获得两把相同的锁的情况。针对该问题,redis提出了一种红锁(RedLock) 来解决该问题。原创 2023-11-25 16:05:24 · 456 阅读 · 0 评论 -
Redis 淘汰策略有哪些?(概念)
当redis中的数据量达到设置的内存上限时,当有新的数据进来时,就会对已经有的数据进行淘汰。redis的淘汰策略有8种。原创 2023-11-25 15:53:05 · 592 阅读 · 0 评论 -
Redis新数据类型-Bitmaps
现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图:合理地使用操作位能够有效地提高内存使用率和开发效率。原创 2023-11-23 18:26:44 · 842 阅读 · 0 评论 -
Redis数据类型–Geospatial 地理空间
Redis 3.2 中增加了对GEO类型的支持。GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。原创 2023-11-20 13:10:43 · 193 阅读 · 0 评论 -
Redis的发布和订阅
目录编辑什么是发布和订阅 Redis的发布和订阅发布订阅命令行实现1.打开一个客户端订阅channel12.打开另一个客户端,给channel1发布消息hello3.打开第一个客户端可以看到发送的消息使用场景构建即时消息系统异步任务处理跨系统消息通知数据流处理实现机制简介普通模式pattern 模式客户端可以订阅频道如下图当给这个频道发布消息后,消息就会发送给订阅的客户端2.打开另一个客户端,给channel1发布消息hellopublish channel1 h原创 2023-11-20 11:54:43 · 87 阅读 · 0 评论