redis的过期键删除策略 redis使用了惰性删除和定期删除两种方式。 惰性实现在db.c/expireIfNeeded()中。...redis的定期删除策略 redis会定期执行过期键删除,定期删除函数在expire.c/activeExpireCycle(int),这个函数有两个地方调用,一个是server.c/databasesCron...如果是ACTIVE_EXPIRE_CYCLE_SLOW类型,redis会以正常的过期周期进行清理,时间周期是REDIS_HZ的一个百分比,由ACTIVE_EXPIRE_CYCLE_SLOW_TIME_PERC...这些只是一些系统默认的常量,redis给了我们一个额外的参数effort,让我们去修改上面这些默认变量。...effort变量由redis.conf中的active-expire-effort控制,1到10,设置越大cpu的消耗也会相应增加。
yum安装redis 1.yum安装 #前提得配置好阿里云yum源,epel源 #查看是否有redis包 yum list redis #安装redis yum install redis -y #安装好...,启动redis systemctl start redis 2.检测redis是否工作 redis-cli #redis 客户端工具 #进入交互式环境后,执行ping,返回pong表示安装成功...127.0.0.1:6379> ping PONG 源码安装redis,编译安装 大家用过yum,是相当省事好用吧,为什么还要学习源码安装?.../redis-cli //redis的客户端 ./redis-server //redis的服务端 ./redis-check-aof //用于修复出问题的AOF文件 ..../redis-sentinel //用于集群管理 启动redis服务端 启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件: .
Redis 1、为什么使用Redis数据库 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。...丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。...原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。...丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis学习 应用场景 Token令牌的生成 短信验证码的code 可以实现缓存数据的查询 帮助实现计数器 分布式锁 延迟操作(对key做时间监听,多长时间过期) 分布式消息中间件 Redis数据类型...List类型 Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 集合(Set) Redis 的 Set 是 String 类型的无序集合。...Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。...MySQL与Redis一致性问题 直接清除Redis的缓存,重新读取数据库 使用mq异步订阅mysql binlog实现增量同步 使用alibaba的canal 缓存击穿 热点key过期(或者没有被缓存的...) 数据库有 大量的并发redis没有缓存 过缓存穿透 解决方案 对服务接口api实现限流、用户授权、黑名单和白名单拦截; 从缓存和数据库都查询不到结果的话,一样将数据库空值结果缓存到redis中;
redis pipeline 什么是流水线(pipeline) 首先来看 redis 执行一次操作所需要的时间: 1 次时间 = 1 次网络时间 + 1次命令时间 ?...对比如下: M操作在Redis队列中是一个原子操作,pipeline不是原子操作 pipeline与M操作都会将数据顺序的传送顺序地返回(redis 单线程) M 操作一个命令对应多个键值对,而Pipeline...是多条命令 pipeline注意事项 每次pipeline携带数量不推荐过大,否则会影响网络性能 pipeline每次只能作用在一个Redis节点上 pipeline-Jedis使用 Maven 依赖... redis.clients jedis 2.9.0
一般情况下,redis占用内存超过20GB以上的时候,必须考虑主从多redis实例进行数据同步和备份保证可用性。 rbd保存的文件都是 dump.rdb,都是配置文件当中的快照配置进行生成的。...默认情况:RDB,AOF需要手动开启 redis.conf持久化配置说明 在redis.conf文件当中,存在如下的选项: redis.conf当中RDB的相关配置 #是否开启rdb压缩 默认开启...redis通过shutdown命令关闭服务器请求的时候,此时redis会停下所有工作执行一次save,阻塞所有客户端不再执行任何命令并且进行磁盘写入,写入完成关闭服务器。...修复速度慢一些 存在未知的bug,比如如果重写aof文件的时候突然中断,会有很多奇怪的现象 如何检查redis的性能瓶颈: redis-benchmark 官方推荐的性能测试工具,非常强大,具体的地址为...:https://www.runoob.com/redis/redis-benchmarks.html Redis-cli中调用slowlog get,作用是返回执行时间超过redis.conf中定义的持续时间的命令列表
,计时器 等等 Redis 有啥特性 多样的数据类型 持久化 集群 事务处理 学习 Redis 需要用到的资料 官网:https://redis.io/ 中文网站:http://www.redis.cn.../ 下载地址: 如何安装 Redis window 下安装 Redis 1、官网上下载 windows Redis 的安装包:https://github.com/tporadowski/redis/...服务端 redis-client redis 客户端 redis-check-aof 和 redis-check-rdb redis 的持久化工具 redis-benchmark redis 的检测工具...:/# redis-server /usr/local/redis/redis-6.2.5/redis.conf root@iZuf66y3tuzn4wp3h02t7pZ:/# redis-cli -p...redis 默认是有 16 个数据库的,咱们可以查看 redis.conf 文件中有定义 # vim /usr/local/redis/redis-6.2.5/redis.conf redis 默认是使用第
redis 持久化 什么是持久化 redis 将所有数据保持在内存中,对数据的更新将异步地保存在磁盘中 持久化的方式 1. 快照 快照是某时某刻对数据的完整备份。...在: MySQL Dump Redis RDB 被使用。 2....在: MySQL Binlog Hbase HLog Redis AOF 被使用。
redis 发布订阅 发布订阅模式中的角色 发布者(publisher) 订阅者(subscriber) 频道(channel) 如图所示: 发布者发布消息到频道,订阅了频道的订阅者可以收到消息,订阅者可以订阅不同的频道...通信模型 RedisServer中可以创建若干channel 一个订阅者可以订阅多个channel 当发布者向一个频道中发布一条消息时,所有的订阅者都将会收到消息 Redis的发布订阅模型没有消息积压功能
redis 慢查询 什么是慢查询 MySQL会记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询,都记在慢查询日志里。...redis 的生命周期 客户端向Redis服务器发送命令 命令请求在请求队列中排队等待处理 执行命令 返回命令结果 ?...redis 慢查询 慢查询发生在生命周期的第三阶段,是指仅仅执行命令阶段比较慢被称为慢查询。 客户端超时不一定是慢查询,但是慢查询时是客户端超时的一个可能因素。...redis 慢查询相关配置 1. slowlog-max-len 它决定了慢查询日志最多能保存多少条日志,slow log本身是一个内存中的FIFO队列,当队列大小超过slowlog-max-len时,...slowlog len 含义:获取慢查询队列长度 slowlog reset 含义:清空慢查询队列 慢查询运维经验 slowlog-max-len 不要设置过大,默认10ms,通常设置1ms 因为Redis
前言 说到 Redis,大家可能第一反应就是它是当前最受欢迎的 NoSQL 数据库之一。...Redis 特点 Redis 是一个高性能的开源的 key-value 数据库,底层由 C 语言实现,相比于其他同类型产品,有如下特点。.../redis-server.exe 打开另一个窗口,在 Redis 目录下运行另一个 Redis,然后进行设置和取出键值对测试; ..../redis-cli # 解决乱码的启动方式 ....主要介绍了 NoSQL 的相关知识,接着引入 Redis 的特点、优点、应用场景、和其他同类型数据库的区别、然后介绍 Redis 的安装以及安装过程中需要注意的事项,最后则是对 Redis 在日常使用时使用最频繁的一些命令进行了说明
管理Redis 1.1 config 指令 除了通过 redis.conf 文件对 Redis 进行配置外,我们还可以通过 config set 命令来个别值进行设置 config set slowlog-log-slower-than...通过使用 requirepass 设置 (用 redis.conf 文件或者 config set 命令)。...1.3 复制 ( Replication ) Redis 支持复制,意思是说,当你把数据写到一个 Redis 实例(主服务)上的时候,一个或者多个实例(从服务)将会保持和主服务同步更新。...1.4 备份(Backups) 备份 Redis 只需要简单的将 Redis 的快照拷贝到你想要的地方。默认的,Redis 把它的快照保存在名为 dump.rdb 的文件中。...1.5 扩展和 Redis 集群(Scaling and Redis Cluster) 复制是那些负荷高速成长的网站用到的第一个工具。
测试性能 redis-benchmark 是一个压力测试工具! 官方自带的性能测试工具! redis-benchmark 命令参数! ?...基础知识 redis默认有16个数据库,默认使用第0个。 ? 可以使用select进行切换数据库。...明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据 机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!...Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的 Memecache差! Redis 为什么单线程还这么快?...核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程 (CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高 的!
Redis入门 概述 Redis是什么? Redis(Remote Dictionary Server ),即远程字典服务 !...redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave(主从)同步。 免费和开源!是当下最热门的 NoSQL 技术之一!...Redis能干什么?...1、官网:https://redis.io/ 2、中文网:http://www.redis.cn/ 3、下载地址:通过官网下载即可! 4、 或者使用docker安装。...auth "密码" root@c91b615aebc1:/bin# redis-cli -p 6666 127.0.0.1:6666> auth "密码" OK 127.0.0.1:6666> set
Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地理位置的信息,两地之间的距离,方圆 几里的人!...官方文档:https://www.redis.net.cn/order/3685.html getadd getadd 添加地理位置 规则:两级无法直接添加,我们一般会下载城市数据,直接通过java
Redis安装 1.准备环境 vmware16.x+ centos7.x+ 2.下载redis源码包 https://redis.io/ 3.下载完整源码包 redis-4.0.10.tar.gz...cp redis-4.0.10/redis.conf master/ cp redis-4.0.10/redis.conf slave1/ cp redis-4.0.10/redis.conf.../redis-server /root/master/redis.conf - ./redis-server /root/slave1/redis.conf - ....3.将哨兵的启动脚本文件复制到redis目录下 cp redis-4.0.10/src/redis-sentinel /usr/redis/ 4.进入redis目录指定配置文件启动rendis-sentinel...注意:启动redis,并开启redis的远程连接(单节点) 1.导入redis的依赖 <!
90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去使用静态网页 Html ~ 服务器根本没有太大的压力! 思考一下,这种情...
Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位。...打开一个 cmd 窗口 使用cd命令切换目录到 D:\redis 运行 redis-server.exe redis.windows.conf 。...Ubuntu 下安装 在 Ubuntu 系统安装 Redis 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis...$ redis-server 查看 redis 是否启动?...$ redis-cli 以上命令将打开以下终端: redis 127.0.0.1:6379> 127.0.0.1 是本机 IP ,6379 是 redis 服务端口。现在我们输入 PING 命令。
springboot整合 SpringBoot 操作数据:spring-data jpa jdbc mongodb redis! SpringData 也是和 SpringBoot 齐名的项目!...' // 配置文件 spring: redis: host: 192.168.106.129 port: 6666 password: 密码 //测试用例 @Test...; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer...; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * @program: redis *...操作,其实对于java开发人员来说,十分的简单,更重要是要去理解redis的思想和每一种数 据结构的用处和作用场景!
list(列表) 所有的list命令都是用l开头的,Redis不区分大小命令。把list当成 ,栈、队列、阻塞队列!...1) "cuixiaoyan" 2) "hello" 3) "redis" 127.0.0.1:6666> sismember set hello # 判断set中是否有某个值 (integer) 1...set # 抽取一个 "woshi" 127.0.0.1:6666> srandmember set "redis" 127.0.0.1:6666> srandmember set 2 # 抽取两个...1) "nihao" 2) "redis" # 删除指定的key,随机删除key。...127.0.0.1:6666> spop set # 删除 "redis" 127.0.0.1:6666> smembers set 1) "woshi" 2) "cuixiaoyan" 3) "nihao
领取专属 10元无门槛券
手把手带您无忧上云