
redis
文章平均质量分 80
小林想被监督学习
好想找实习的编程小萌新,想找人一起学习,监督我,不在迷茫ヾ(;゚;Д;゚;)ノ゙
展开
-
Windows 启动 redis 报错 Could not create server TCP listening socket *:6379: listen: 提供了一个无效的参数
redis 很久没用了,今天使用的时候点击 redis-server 直接闪退。最后尝试在 redis 目录下打开命令行用如下命令启动 redis。使用命令 redis-server 启动报如下错误。用 redis-cli 也能正常连接。2、尝试了重启电脑、重装 redis 都没有解决。1、多数文章提示的思路都是。,没有找到占用该端口的进程。被占用,找到相应进程然后。原创 2024-09-24 10:33:33 · 432 阅读 · 0 评论 -
Redis 集群 - 数据分片算法
• 节点之间通过⼼跳包通信.⼼跳包中包含了该节点持有哪些 slots.这个是使⽤位图这样的数据结构 表⽰的.表⽰ 16384 (16k) 个 slots,需要的位图⼤⼩是 2KB. 如果给定的 slots 数更多了,⽐如 65536 个了,此时就需要消耗更多的空间,8 KB 位图表⽰了. 8 KB,对于内存来说不算什么,但是在频繁的⽹络⼼跳包中,还是⼀个不⼩的开销的。原创 2024-06-19 17:02:08 · 856 阅读 · 0 评论 -
Redis 哨兵(Sentinel)
我们进行 Redis 哨兵的部署练习,大致结构如下:要是在真实的项目场景中,上图的 6 个节点应该部署在 6 个服务器上,但因为经济原因,目前只能将它们都部署在一个服务器上,但多个哨兵节点之间以及多个 Redis 数据节点之间会出现很多的配置,环境冲突问题,解决起来比较头疼。而且一个节点一个节点的去部署显然也过于麻烦,而通过docker就可以解决节点之间的环境冲突问题,通过就可以实现快速部署和管理。原创 2024-05-29 15:12:46 · 1050 阅读 · 0 评论 -
Redis 主从复制
在分布式系统中为了解决,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等需求。Redis 也是如此,它为我们提供了复制的功能,实现了相同数据的多个 Redis 副本。复制功能是⾼可⽤ Redis 的基础,哨兵和集群都是在复制的基础上构建的。原创 2024-05-27 12:43:52 · 1315 阅读 · 0 评论 -
Redis 事务
Redis 的事务和 MySQL 的事务概念上是类似的. 都是把⼀系列操作绑定成⼀组.让这⼀组操作·能够批量执行.原创 2024-05-24 15:39:35 · 923 阅读 · 0 评论 -
Redis 的持久化(真的好细)
Redis 是一个内存数据库,把数据存储在内存中,而内存中的数据是不持久的,要想数据持久就得将数据存储到硬盘中,而 Redis 相比于 Mysql 这样的关系型数据库最大的优势就在于将数据存储在内存中从而效率更高,速度更快所以小孩子才做选择,我全都要。Redis 为了保证效率和持久性,于是将一份数据同时存储到内存和硬盘中,有同学可能会疑惑,将数据同时存储到内存和硬盘效率不就低了吗?实际上将数据存储到硬盘有不同的策略,能够保证效率依然很高。当要查询某个数据时,就从内存中读取。原创 2024-05-24 09:27:37 · 999 阅读 · 0 评论 -
通过 Spring 操作 Redis
要想通过 Java 操作,首先要连接上 redis。原创 2024-05-22 13:52:46 · 824 阅读 · 0 评论 -
通过 Java 操作 redis -- zset 有序集合基本命令
关于zset 有序集合类型的相关命令要想通过 Java 操作 redis,首先要连接上 redis本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)原创 2024-05-09 13:48:25 · 1569 阅读 · 0 评论 -
通过 Java 操作 redis -- hash 哈希表基本命令
关于 redis hash 哈希表类型的相关命令要想通过 Java 操作 redis,首先要连接上 redis 服务器,本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)原创 2024-05-08 18:54:00 · 1444 阅读 · 1 评论 -
通过 Java 操作 redis -- set 集合基本命令
关于 redis set 集合类型的相关命令要想通过 Java 操作 redis,首先要连接上 redis 服务器,本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)原创 2024-05-08 17:02:00 · 1027 阅读 · 0 评论 -
通过 Java 操作 redis -- list 列表基本命令
关于 redis list 列表类型的相关命令要想通过 Java 操作 redis,首先要连接上 redis 服务器,本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)原创 2024-05-08 11:14:58 · 1591 阅读 · 1 评论 -
通过 Java 操作 redis -- String 基本命令
关于 redis String 类型的相关命令推荐看要想通过 Java 操作 redis,首先要连接上 redis 服务器,本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)原创 2024-05-07 21:44:48 · 571 阅读 · 0 评论 -
通过 Java 操作 redis -- 基本通用命令
要想通过 Java 操作 redis,首先要连接上 redis 服务器,关于 redis 的基本通用命令。原创 2024-05-07 17:53:27 · 760 阅读 · 1 评论 -
通过 Java 操作 redis -- 连接 redis
如果我们想在本地主机上访问 Linux 服务器上的 redis ,我们就需要通过 ssh 进行端口转发,推荐看通过 Java 操作 redis 已经有大佬创建了很多第三方库,这里我们使用 jedis ,因为它所提供的方法和 redis 的命令相同,减少我们的学习成本。原创 2024-05-07 17:41:53 · 1065 阅读 · 1 评论 -
本地主机访问服务器的Redis -- 配置 ssh 端口转发
在进行Java开发时,高度的依赖 Windows 上的开发软件 idea ,那么我们想访问位于服务器上的 redis 怎么办呢?在平时我们想访问位于服务器上的程序,只需要开放它的端口即可,比如我们创建的网站,比如 tomcat 的8080 端口,但 reids 的 6379 端口我们能开放吗?答案是不能,因为 redis 的端口一旦开放,就非常容易被黑客攻击。那么我们要如何在不开放 redis 端口的情况下,也能在本地主机访问服务器上的 redis 程序呢?原创 2024-05-07 12:30:48 · 1358 阅读 · 1 评论 -
Redis 渐进式遍历 -- scan
keys 可以一次性把 Redis 中的所有 key 都获取到,但这个操作比较危险,一次性获取所有的key 很容易会导致 Redis 阻塞。而通过(不是一个命令就将所有的 key 值拿到,而是每执行一次命令只获取其中的一小部分,这样就能保证当前的操作不会太卡,而想获得所有的 key 值就要重复执行多次命令)就能做到在获取到所有 key 的同时也不会阻塞 Redis 服务器,原创 2024-05-06 17:37:25 · 813 阅读 · 0 评论 -
Redis 的数据库管理
Redis 提供了⼏个⾯向 Redis 数据库的操作,分别是命令, 我将介绍这些常见的命令。原创 2024-05-06 17:37:03 · 538 阅读 · 0 评论 -
Redis - Zset 有序集合
它保留了集合不能有重复成员的特点,但与集合不同的是,有序集合中的每个元素都有⼀个唯⼀的浮点类型的分数(score)与之关联,有序集合中的元素是可以维护有序性的,但这个有序不是⽤下标作为排序依据⽽是⽤这个 分数。。原创 2024-04-30 11:47:56 · 1196 阅读 · 0 评论 -
Redis - Set 集合
集合类型可保存多个字符串类型的元素,但和列表类型不同的是,集合中的元素之间是(顺序不重要,变换一下集合中的数据顺序,集合不会发生改变) 的并且⼀个集合中最多可以存储 2^32-1 个元素。Redis 除了⽀持集合内的增删查改操作,同时还⽀持多个集合取交集、并集、差集,合理地使⽤好集合类型,能在实际开发中解决很多问题。原创 2024-04-24 17:58:21 · 1013 阅读 · 0 评论 -
Redis - list 列表
列表类似于 Java 中的数组或者顺序表,在 Redis 中,可以对列表两端插⼊(push)和弹出(pop),还可以获取指定范围的元素列表、 获取指定索引下标的元素等。列表是⼀种⽐较灵活的数据结构,它可以充当栈和队列的⻆⾊,在实际开发上有很多应⽤场景。:list 内部的编码方式并不是一个简单的数组,更接近于双端队列。原创 2024-03-24 19:50:21 · 1318 阅读 · 0 评论 -
Redis - hash 哈希表
当哈希表中的键值对个数较少,每个键值对值 value 的长度较短时,哈希的内部编码采用的就是 ziplist(压缩列表) ,而较少和较短的边界值就要看具体的配置,使用 ziplist (压缩列表)相比于 hashtable 要节省很大的空间,但相对的读取数据的速度较慢,尤其当数据较多或者 value 值较长时会很明显,所以当数据较多或 value 值较长时会将内部编码从 ziplist(压缩列表)改为 hashtable(哈希表)原创 2024-03-20 15:56:32 · 1071 阅读 · 0 评论 -
Redis - String 字符串
下表中包含本博客提到的所有命令字符串类型是 Redis 最基础的数据类型,关于字符串需要特别注意:1)⾸先 Redis 中所有的键(key)的类型都是字符串类型,⽽且其他⼏种数据结构也都是在字符串类似基础上构建的,例如列表和集合的元素类型是字符串类型,所以字符串类型能为其他数据结构的学习奠定基础。2)其次,如下图所示,字符串类型的值包含⼀般格式的字符串或者类似 JSON、XML 格式的字符串;数字,可以是整型或者浮点型;甚⾄是⼆进制流数据,例如图⽚、⾳频、视频等。原创 2024-03-17 16:55:40 · 1014 阅读 · 0 评论 -
Redis 的数据结构和内部编码【雨林优选】【面试重点】
可以看到每种数据结构都有⾄少两种以上的内部编码实现,同时有些内部编码,例如 ziplist,可以作为多种数据结构的内部实现,可以通过命令查询 value 对应的内部编码:按道理通过 set 设置的键值对 value 的类型应该是 String,但内部编码的实现是 int,因为 value 对应的数据是 111, redis 对其底层的编码进行了优化,通过 int 类型来保存数据。原创 2024-03-13 15:37:23 · 989 阅读 · 0 评论 -
Redis 为什么性能如此之高【雨林优选】【面试重点】
Redis 使⽤了单线程架构来实现⾼性能的内存数据库服务,本文章将会分析 Redis 单线程命令处理机制,接着分析 Redis 单线程模型为什么性能如此之⾼。原创 2024-03-13 15:37:02 · 1275 阅读 · 0 评论 -
Redis 的 key 的过期策略是怎么实现的【经典面试题】
在 Redis 中可以通过命令 expire 对指定的 key 值设置过期时间,在时间到了以后该键值对就会自动删除。一个 Redis 中可能会存在很多的 key ,而这些 key 中有很大的一部分都会有过期时间,那么 Redis 怎么知道哪些 key 已经到了过期时间需要删除,哪些 key 还没到过期时间呢?有读者可能会说,遍历不就得了,遍历 Redis 中所有的数据,就知道哪些数据已经到时间需要删除,哪些数据还没到时间。原创 2024-03-11 16:00:55 · 1308 阅读 · 0 评论 -
Redis 的常用基本全局命令【小林优选】
Redis 常用的有 5 种数据结构,字符串,列表,哈希表,集合,有序集合,每一种数据结构都有自己独特的命令,但也有些通用的全局命令,关于 Redis 的安装,配置和启动,推荐看将 Redis 启动以后,要输入命令,首先得打开 Redis 的命令行页面redis-clilinux 左边的目录显示为这样时,代表已经成功进入 Redis 的命令行页面。原创 2024-03-11 15:59:54 · 893 阅读 · 0 评论 -
进⼊ Redis 的世界-初识 Redis【雨林精品】
Redis 是⼀种基于键值对(key-value)的 NoSQL 数据库(非关系型数据库),与很多键值对数据库不同的是,Redis中的 value 值可以是由 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、 Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此 Redis可以满⾜很多的应⽤场景⽽且因为 Redis 会将所有数据都存放在内存中,所以它的读写性能⾮常惊⼈。不仅如此,Re原创 2024-03-09 13:09:50 · 927 阅读 · 0 评论 -
Centos 安装 redis【最简单】
⾸先安装 scl 源, 再安装 redis (因为 Centos7 yum 提供的软件包只有 3.0 版本的 Redis ,太老了,我们要安装 redis 5 系列的)原创 2024-03-09 13:09:10 · 682 阅读 · 0 评论