退出redis shutdown :关闭redis exit :推出 keys * :查看全部的key linux启动redis redis的路径:/usr/local/bin 启动redis服务器: redis-server 85config/redis.conf 启动redis客户端:redis-cli -p 6379 ping 之后返回 pong 查看redis线程:ps -ef|grep redis ============================== Redis五种基本类型 String 字符串 …

2021年4月19日 0条评论 19点热度 阅读全文

首先,导入jedis依赖,springboot内置了jedis,所以无需指定jedis版本 <!--jedis依赖 使用redis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> redis相关环境: redis-5.0.0 redis客户端:redis-desktop-manager-0.8.…

2021年4月19日 0条评论 14点热度 阅读全文

结构定义 // hash表结构,每个字典采用两个哈希表,实现渐进式rehash typedef struct dictht { // 哈希表数组,每个元素一条链表 dictEntry **table; unsigned long size; unsigned long sizemask; unsigned long used; } dictht; typedef struct dictEntry { void *key; union { void *val; uint64_t u64; int64_t s64; d…

2021年4月18日 0条评论 22点热度 阅读全文

一、场景举例 我们日常上网冲浪的时候,常常会遇到这样的情景: 多次输错登陆密码,再次尝试登录,页面提示需要输入正确的图形验证码 某内容平台限定,每个账号单日可发布的文章数量不得超过规定上限 采用短信验证码进行交互的场景,M分钟内请求的验证码次数过多,接下来的N分钟里会被拒绝请求,并提示"用户操作频繁,请稍后再试" 当网站的访问量突然很大的时候肯定会对服务器造成影响,甚至无法访问,如果是正常的访问那么很好说明业务量增大可以考虑系统的拓展,但是如果是搜索引擎爬虫频繁访问或是一些恶意访问,那这时候我们就应该限制这些访问的…

2021年4月18日 0条评论 21点热度 阅读全文

redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会自动把硬盘的数据恢复到内存(redis)里,数据保存到硬盘的过程就叫做持久化。 1.快照持久化(snap shotting) 该持久化默认开启,一次性把redis中全部的数据保存存储在硬盘中,如果数据非常多(10-20G)就不适合频繁该持久化操作 (1)快照持久化保留在本地硬盘的数据库备份文件:dump.rdb (2)快照持久化备份的频率, save 900 1 #900秒内如果超过1个key被修改,就发起快照保存 sav…

2021年4月17日 0条评论 22点热度 阅读全文

linux下创建目录 在/usr/local下创建目录 mkdir copy mkdir snapshotting cd copy 创建复制的脚本 vim redis_rdb_copy_hourly.sh 写入 #!/bin/sh // cur_date=date +%Y%m%d 每天 cur_date=date +%Y%m%d%k rm -rf /usr/local/redis/snapshotting/$cur_date mkdir /usr/local/redis/snapshotting/$cur_date…

2021年4月16日 0条评论 17点热度 阅读全文

sds simple dynamice string 1.常数复杂度获取字符串长度 2.杜绝缓冲区溢出 3.减少修改字符串时带来的内存重分配次数 空间预分配,惰性空间释放 4.二进制安全 5.兼容部分C字符串函数   /* * 类型别名,用于指向 sdshdr 的 buf 属性 */typedef char *sds; /* * 保存字符串对象的结构 */ struct sdshdr {     // buf 中已占用空间的长度     int …

2021年4月13日 0条评论 16点热度 阅读全文

基于狂神视频做的笔记 事务 Redis 事务本质:一组命令的集合!事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行! 一次性,顺序性,排他性!执行一系列命令! Redis事务没有隔离级别的概念! 所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! Exec Redis单条命令是保存原子性的,但是事务不保证原子性! 要么同时成功 要么同时失败,原子性! redis的事务: 开启事务(multi) 命令入队(…) 执行事务(exec) 正常执行事务 127.0.0.1:6379>…

2021年4月12日 0条评论 16点热度 阅读全文

第一步:修改redis.conf配置文件 命令:vim redis.conf 接着按 : 然后输入 /bind 可以搜索,将 bind 127.0.0.1 注释掉,我这里是 bind 127.0.0.1 - ::1。 接着将protected-mode 改为 no 第二步:开放6379端口 执行命令firewall-cmd --query-port=6379/tcp 查看端口状态,如果是no的话说明端口关闭了。 1、开放6379端口 firewall-cmd --zone=public --add-port=637…

2021年4月11日 0条评论 21点热度 阅读全文

Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题 一条命令执行过程 在本文场景下,延迟 (latency) 是指从客户端发送命令到客户端接收到命令返回值的时间间隔。所以我们先来看一下 Redis 一条命令执行的步骤,其中每个步骤出问题都可能导致高延迟。 上图是 Redis 客户端发送一条命令的执行过程示意图,绿色的是执行步骤,而蓝色的则是可能…

2021年4月7日 0条评论 67点热度 阅读全文