redi
《Redis设计与实现》读书笔记
《Redis设计与实现》读书笔记 简单动态字符串 SDS的定义 结构: buf数组:用于保存字符串 len属性:记录SDS中保存字符串的长度 free属性:记录buf中未使用字节数量 遵循C字符串以空字符串结尾的惯例,保存空字符串的字节不计入长度 SDS与C字符串的区别 常数复杂度获取字符串长度 因 ......
Ubuntu安装Redis7
去官网下载Redis最新安装包 (sudo apt-get remove redis-server)此命令可以卸载通过apt安装的redis Redis官网地址:Redis deb http://archive.ubuntu.com/ubuntu/ trusty main universe rest ......
Redis渗透方法汇总
Redis渗透方法汇总 文章目录 0x01 简介 0x02 未授权访问 未授权访问原理 0x03 Redis写入webshell 0x04 Redis密钥登录SSH 0x05 利用计划任务反弹shell 0x06 利用主从复制RCE 0x07 本地Redis主从复制RCE反弹sh 0x01 简介 R ......
Go--连接redis
直接看代码 package main import ( "errors" "fmt" "github.com/go-redis/redis" "time" ) //先下载三方依赖包,以下两个都可以,这里使用的是第一个 //go get -u github.com/go-redis/redis //g ......
redis,持久化RDB,AOF,混合(AOF),主从复制原理和方案,哨兵高可用
内容回顾 # 悲观乐观锁: django中如何实现 -悲观锁:mysql 行锁 表锁 -乐观锁:真正修改时,加入限制条件 django中事务如何开启 -原生sql如何开启事务:begin; commit; -django中如何开事务:atomic() commit() for_update是锁表还是 ......
redis linux下安装 redis启动方式 redis典型场景 redis通用命令 数据结构和内部编码 redis字符串类型
内容回顾 # dockerfile 命令 RUN COPY ADD ENV EXPOSE WORKDIR CMD:可以用新命令覆盖的 ENTRYPOINT:不可以被覆盖 # 容器要运行,必须有个前台进程 # dockerfile部署图书管理系统项目 FROM python:3.8 MAINTAINE ......
基于Docker 的redis cluster部署
一、设置宿主机配置文件 这里设置在 /data/redis/conf/redis.conf内容如下: # 不能设置密码,否则集群启动时会连接不上 # Redis服务器可以跨网络访问 bind 0.0.0.0 # 修改端口号 port 6379 # Redis后台启动 daemonize no # 开 ......
使用pipeline执行命令遇到redis.Nil的坑
参考项目 kratos_rockscache redis数据准备 关键代码 特别注意,使用pipeline的Exec方法,一定要判断一下redis.Nil这个错误: ~~~ ......
redis高级-day6——python操作哨兵、python操作集群、缓存优化
一 、python操作哨兵 # 高可用架构后 》不能直接连某一个主库了 》主库可能会挂掉,后来它就不是主库了 # 之前学的连接redis的操作,就用不了了 import redis conn=redis.Redis(host='',port=6379) conn.set() conn.close() ......
详解Redis三大集群模式,轻松实现高可用!
Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,Redis集群主要有三种模式:主从复制模式(Master-Slave)、哨兵模式(Sentinel)和Clust... ......
docker启动Redis
1.dockerhub中寻找对应版本 2.docker pull redis:6.0.19 3.运行Redis 1.前台运行 docker run -p 6379:6379 --name redis1 redis:6.0.19 --restart=always2.后台运行docker run -d ......
redis
今日内容 1 集群原理及搭建 # 做了读写分离,做了高可用,还存在问题 1 并发量:单机redis qps为10w/s,但是我们可能需要百万级别的并发量 2 数据量:机器内存16g--256g,如果存500g数据呢? # 使用集群解决这个问题 # 解决:加机器,分布式 redis cluster 在 ......
主从redis部署(docker)
首先,我准备了两台linux,一台准备当作master,ip是192.168.241.128,另一台是当作slave,ip是192.168.241.129。 1. 安装redis docker pull redis 2. 下载对应版本的redis.conf 可以从github上下载。新建配置环境目录 ......
Docker安装Redis
创建本地挂载文件 mkdir -p /app/redis && cd $_ && touch redis.conf 解释: /app/redis: 是挂载配置文件的路径 redis.conf: redis的配置文件 redis.conf配置文件内容 redis.conf docker安装Redis ......
CentOS7.6 配置Redis的Systemd服务
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!... ......
redis数据结构
ZipList ziplist是一种特殊的“双向链表”,由一系列特殊编码的连续内存组成,可以在任意一端进行压入和弹出。 ZipList的结构 ZipListEntry的结构 entry并不像普通双向链表节点用两个指针指向前后节点,为了节省空间。 previous_entry_length:前一个节点 ......
redis高级:集群原理及搭建
一、集群原理及搭建 当我们做了读写分离,做了哨兵高可用,还下列存在问题: 并发量:单机redis qps为10w/s,但是我们可能需要百万级别的并发量 数据量:机器内存16g--256g,如果存500g数据呢? 解决方案:使用集群 即加机器,使用分布式 1、redis集群介绍 redis clust ......
redis高级:持久化方案、主从复制原理和方案、哨兵高可用
一、持久化方案 1、什么是持久化 redis的所有数据保存在内存中,把内存中的数据同步到硬盘上这个过程称之为持久化 ps:redis是默认使用自动持久化的,在使用redis的时候我们如果不是强行关掉redis服务,再启动,就可以看到之前设置的数据。因为正常退出或执行shutdown关闭redis连接 ......
redis高级:GEO地理位置信息、乐观锁悲观锁及python中实现
一、GEO地理位置信息 介绍 GEO(地理信息定位):存储经纬度,计算两地距离,范围等 他的本质是一个有序集合。 我们可以根据经纬度,确定具体地址的。比如使用高德开放api返回具体地址(但是可能有些时候不准确,需要人工去处理这些问题) 应用举例: 北京:116.28,39.55 天津:117.12, ......
redis springboot
【springboot进阶】SpringBoot整合RedisTemplate配置多个redis库 RedisTemplate及4种序列化方式 springboot笔记 ......
确保Redis缓存一致性的N种方法
确保Redis缓存一致性的N种方法 1、及时失效法 当程序需要update该数据时,先更新数据库数据数据,若数据库update成功,则重新为Redis该key值设置一个极短的过期时间,当过期之后,下一个请求自然会去数据库获取最新版本的数据 2、互斥锁 当程序需要update数据时,更新完数据库,再去 ......
redis 哈希,集合,有序集合,持久化方案,主从复制,高可用,集群搭建扩容缩容
哈希类型操作方法 hget key field # 获取hash key对应的field的value值 hset key field # 设置 hdel key field # 删除 测试 hset user:1001 age 23 hget user:1001 age hset user:1001 ......
Redis主从切换
1、停止主Redis(模仿主机挂掉) /usr/local/redis6/bin/redis-cli -a "dianshang" -h 192.168.x.x -p 7020 shutdown 2、将从Redis 设成主Redis /usr/local/redis6/bin/redis-cli - ......
Centos7 离线安装指定版本 redis
1、本次安装redis7,官方网站 https://redis.io/download/ 2、安装gcc yum install -y gcc 3、解压 tar zxvf redis-7.0.11.tar.gz -C /usr/local/ 4、编译 cd /usr/local/redis-7.0. ......
Redis 为何使用Nearly LRU 算法淘汰数据
Redis 使用该 LRU 算法淘汰过期数据吗?不是的。 由于 LRU 算法需要用链表管理所有的数据,会造成大量额外的空间消耗。 大量的节点被访问就会带来频繁的链表节点移动操作,从而降低了 Redis 性能。 Redis的内存空间是很宝贵的,而维护LRU的双向链表需要使用比较多的额外空间,至少需要一 ......
Redis-Cluster(redis集群)
Redis-Cluster(redis集群) Redis-Cluster的背景介绍 1.1存在的问题 1.并发量:单机Redis qps为10w/s,但是我们需要百万级别的并发量 2.数据量:机器内存16-256g,如果存储500g数据呢 1.2解决 # 解决方法:加机器,分布式 redis clu ......
即时通讯系统为什么选择GaussDB(for Redis)?
摘要:如果你需要一款稳定可靠的高性能企业级KV数据库,不妨试试GaussDB(for Redis)。 每当网络上爆出热点新闻,混迹于各个社交媒体的小伙伴们全都开启了讨论模式。一条消息的产生是如何在群聊中传递的呢?让我们一起来探索即时通讯系统(IM)的原理。 IM系统架构的原理 当你在群聊“相亲相爱一 ......
redis2
1 哈希类型 ###! hget,hset,hdel hget key field # 获取hash key对应的field的value 时间复杂度为 o(1) hset key field value # 设置hash key对应的field的value值 时间复杂度为o(1) hdel key ......
redis的key命名规范
一、键值设计1. key名设计【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idredis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。一般情况下: 1) 第一段放置项目名或缩写 如 project 2) 第二 ......