redis随笔
redis redis的安装一 安装的准备 首先得买一个服务器(我买的阿里云ecs轻量级); 再下载远程客户端(我用的Xshell,Xftp); 打开Xftp将下载好得redis压缩包传输Xftp中,在进入Xshell中Linux命令安装; rides安装 下载地址:https...
2024-01-10redis介绍
Ø开源的(BSD协议),使用ANSI C 编写,基于内存的且支持持久化,高性能的Key-Value的NoSQL数据库Ø支持数据结构类型丰富,有如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。Ø丰富的...
2024-01-10redis事务
简介可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞作用在一个队列中,一次性,顺序性,排他性的执行一系列命令开启事务示例remoteSelf:1>multi"OK"remoteSelf:1>set k1 v1"QUEUED"remoteSelf:1>set k2 v2"QUEUED"remoteSelf:1>get k1"QUEU...
2024-01-10redis整理
RedisRedis是一个key-value存储系统。Redis支持五种数据类型:string(字符串)list(列表)hash(hash表)set(集合)zset(有序集合)和memcached类似,redis支持的数据类型更丰富、数据能持久化。memcached把数据全部存储在内存中,断电后会挂掉,数据不能超过内存大小。而redis`数据会定期备份到硬盘上...
2024-01-10redis学习
邻近年底,决定辞职,自认为即使没有找到很满意的工作,也应该不会差。事实是有点自信回头,虽然找到了工作,但途中也受到了打击,不得不承认学习的激情不知何时,渐渐熄灭。直到认识一个女生,她让我对未来充满着信心。曾今何时,也在这写过一些技术笔记,如今已烟消云散,昨日已去,...
2024-01-10redis初识
redis介绍redis是什么redis是一种基于键值对的NOsql数据库,与很多键值对数据库不同,redis中的值string,hash,list,set,zset,geo等多种数据机构和算法组成,因为redis会将所有的数据都放在内存中,所以他的读写性能非常惊人,不仅如此,redis还可以将内存中的数据利用快照和日志的形式保存在硬盘上,redis还提供了键过期...
2024-01-10redis队列实现
@Component public class RedisClient { private static Logger logger = LoggerFactory.getLogger(RedisClient.class); @Autowired private RedisTemplate<Object, Object> redisTemplate; /** ---------------------------------- redis消息队列 ----------------...
2024-01-10redis笔记03
Redis数据类型Redis 数据类型redis支持种数据类型 :string(字符串)hash(哈希)list(列表)set(集合)zset(sorted set:有序集合)String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或...
2024-01-10Redis阻塞
可能存在问题内在原因:API或数据结构使用不合理、CPU饱和、持久化阻塞等外在原因:CPU竞争、内存交换、网络问题等问题处理:API或数据结构使用不合理,可能存在慢查询或者大对象:发现慢查询 slowlog get {n} : 降低低算法度命令、拆分大对象发现大对象 --bigkeysCPU饱和,Redis并发量过多导致...
2024-01-10Redis位图
关于位图,可能大家不太熟悉,那么位图能干啥呢?位图的内容其实就是普通的字符串,也就是byte数组,我们都知道byte8 位无符号整数0 到 255说个场景。比如你处理一些业务时候,往往会存在 是或者不是 这样的数据,那么这种数据还是频繁去查看和请求,从数据方面和请求次数方面都是非常...
2024-01-10初识Redis
初识RedisNoSQL是什么?数据库: 用来存储数据的仓库NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库为什么需要NoSQL?解决了高并发的读写问题解决了海量数据的高效率存储和访问问题实现了高可用性及高可扩展性Redis是什么?是由C语言开发的一款开源的、高性...
2024-01-10Redis字符串
1,简介字符串是最基本的key => value 形式2,语法redis 127.0.0.1:6379> COMMAND KEY_NAME例如redis 127.0.0.1:6379> SET testkey redisOKredis 127.0.0.1:6379> GET testkey"redis"3,常见命令序号命令及描述 1 SET key value [ex=None px=None nx=False xx=False] 设置指定 key 的值 ex,过期时间(秒) px...
2024-01-10redis限流的实际应用
为什么要做限流首先让我们先看一看系统架构设计中,为什么要做“限流”。旅游景点通常都会有最大的接待量,不可能无限制的放游客进入,比如故宫每天只卖八万张票,超过八万的游客,无法买票进入,因为如果超过八万人,景点的工作人员可能就忙不过来,过于拥挤的景点也会影响游客的体验...
2024-01-10Redis跨槽错误
我试图在Redis上一次插入多个键/值(有些值是集合,有些是散列),但出现此错误:ERR CROSSSLOT Keys in request don'thash to the same slot。我不是redis-cli从某些需要将多个键/值写入Redis集群的Go代码中执行此操作。我看到代码中的其他地方以这种方式完成了多个键值,但我不明白为什么我的那个不起作用。没有...
2024-01-10【Redis】入门
Redis是一个开源的、基于内存的数据结构存储器,可以用作数据库、缓存和消息中间件 Redis最常用的功能 缓存 分布式锁 Redis概述Redis常用数据结构Redis删除过期数据策略Redis内存淘汰机制Redis持久化机制缓存问题及解决方案Redis概述 Redis是一...
2024-01-10Redis主从复制
Redis支持简单易用的主从复制(master-slave replication)功能,该功能可以让从服务器成为主服务器的即使备份服务器。作用:主从备份,防止服务器宕机;读写分离,分担主服务器的任务;任务分离,从服务器分别担任备份工作和计算工作;注意点:Redis使用异步复制一个主服务器可以有多个从服务器不...
2024-01-10Redis新旧复制
在Redis中,用户可以通过执行SALVEOF命令,让一个服务器去复制另一个服务器。127.0.0.1:12345> SLAVEOF 127.0.0.1 6379OK6379的奴隶是12345。旧版复制功能实现Redis的复制功能分为同步(sync)和命令传播两个操作:同步:将从服务器更新为主服务器的状态。命令传播:在主服务器状态被修改,导致主从状态...
2024-01-10Redis字典实现
4.1 字典数据结构typedef struct dict{ //类型特定函数 dictType *type; //私有数据 void *privateata; //哈希表 dictht ht[2]; //rehash 索引,rehash未进行时,值为-1 int rehashidx;}dict;其中的type 是一个指向 dictType 结构的指针,每个 dictType 结构保存了一簇用于操作特定类型键值对的函数,Redis 会...
2024-01-10Redis链表实现
// 每个链表节点使用一个 ListNode 结构来表示typedef struct ListNode{ //前置节点 struct ListNode *prev; //后置节点 struct ListNode *next; //节点值 void *value;} ListNode; // typedef struct List{ //头节点 struct ListNode *head; //尾节点 struct ListNode *tail; ...
2024-01-10redis设计与实现-总结
链表实现总结链表在redis应用非常广泛,比如当列表键包含了数量比较多的元素,又或者列表中包含的元素都是比较长的字符串,redis就会使用链表作为列表键的底层实现链表的实现总结如下字典结构dict结构该结构中的type定义了特定类型键值对的函数,trehash定义了是否正在rehash,因为redis的reh...
2024-01-10PHP操作Redis
目录基本指令获取所有的key(keys)判断键对应值的类型(type)删除缓存项(del)设置有效期(expire,expireAt)获取有效期(ttl)检测缓存项是否存在(exists)查看当前数据库key的数量(dbSize)清空当前数据库(flushDB)清空所有数据库(flushAll)字符串(string)类型设置(set)设置并指定过期时间(setex)获取(get)增加(incr, incrBy)减少(decr, dec...
2024-01-10Redis事务(8)
例如我们之前说的用setnx实现分布式锁,我们先set,然后设置对key设置expire,防止del发生异常的时候锁不会被释放,业务处理完了以后再del,这三个动作我们就希望它们作为一组命令执行。Redis的事务有两个特点:按进入队列的顺序执行。不会受到其他客户端的请求的影响。Redis的事务涉及到四个命...
2024-01-10redis雪崩和穿透的解决方法
redis穿透指当用户查询的key在redis中不存在,对应的id在数据库也不存在,此时被非法用户进行攻击,大量的请求会直接打在db上,造成宕机,从而影响整个系统。解决方法:把空的数据也缓存起来,比如空字符串,空对象,空数组或list。redis雪崩是指缓存中的数据大批量失效,然后这个使用又要大量的请求进来,但是由于redis中的key全部失效了所有会全部请求到db上,造成宕机。解决方法:设置对...
2024-01-22学习之Redis(一)
一、redis简介 一般学习,最好先去官网,之所以建议看官网,是因为这是一手的学习资料,其他资料都最多只能算二手,一手资料意味着最权威,准确性最高。https://redis.io/topics/introduction。如果像我一样,英语不好的童鞋,不要紧,咋们用Chrome浏览器,翻译成中文。Eumm。。。来看看官网给的解释...
2024-01-10Redis主从搭建示例
1,配置1.1 master redis.conf# basicdaemonize yesport 6379logfile /usr/local/redis/var/redis.logpidfile /var/run/redis_6379.piddir /usr/local/redis/redis_dbfiles/#受保护模式:在本redis服务暴露在外网时,开启此模式后,其他客户端连接时会校验绑定IP,密码等protected-mode yes# aof# 主节点打开AOF机制appendonly yes...
2024-01-10