redis
码农一号已就位
一个平平无奇的网络系大学生
展开
-
内存淘汰机制与算法
文章目录内存淘汰机制与算法Redis 最大运行内存查询最大运行内存内存淘汰策略内存淘汰策略分类修改 Redis 内存淘汰策略内存淘汰算法LRU 算法内存淘汰机制与算法而 Redis内存淘汰机制指的是,当Redis 运行内存已经超过 Redis 设置的最大内存之后,将采用什么策略来删除符合条件的键值对,以此来保障 Redis 高效的运行。Redis 最大运行内存只有在 Redis 的运行内存达到了某个阀值,才会触发内存淘汰机制,这个阀值就是我们设置的最大运行内存,此值在 Redis 的配置文件中可以找原创 2020-09-09 22:27:32 · 2164 阅读 · 0 评论 -
缓存雪崩与缓存穿透,害,这不常见的事嘛
缓存雪崩缓存雪崩是指在短时间内,有大量缓存同时过期,导致大量的请求直接查询数据库,从而对数据库造成了巨大的压力,严重情况下可能会导致数据库宕机的情况叫做缓存雪崩。我们先来看下正常情况下和缓存雪崩时程序的执行流程图,正常情况下系统的执行流程如下图所示:缓存雪崩的执行流程,如下图所示:缓存雪崩的常用解决方案随机化过期时间为了避免缓存同时过期,可在设置缓存时添加随机时间,这样就可以极大的避免大量的缓存同时失效。加锁排队加锁排队可以起到缓冲的作用,防止大量的请求同时操作数据库,但它的缺点是增加了原创 2020-09-09 21:39:09 · 1889 阅读 · 0 评论 -
redis 使用 -->>布隆过滤器
文章目录简介下载编译方式启动启动验证简介我们知道有 HyperLogLog 可以用来做基数统计,但它没提供判断一个值是否存在的查询方法,那我们如何才能查询一个值是否存在于海量数据之中呢?如果使用传统的方式,例如 SQL 中的传统查询,因为数据量太多,查询效率又低有占用系统的资源,因此我们需要一个优秀的算法和功能来实现这个需求,这是我们今天要讲的——布隆过滤器。开启布隆过滤器 在 Redis 中不能直接使用布隆过滤器,但我们可以通过 Redis 4.0 版本之后提供的 modules(扩展模块)的方式原创 2020-09-09 17:05:33 · 1935 阅读 · 0 评论 -
redis 使用-->>基数统计算法-HyperLogLog 热点统计如何做?
文章目录为什么要使用 HyperLogLog?HyperLogLog 介绍基础使用添加元素相关语法:统计不重复的元素相关语法:合并一个或多个 HLL 至新结构 新增 k 和 k2 合并至新结构 k3 中相关语法为什么要使用 HyperLogLog?在我们实际开发的过程中,可能会遇到这样一个问题,当我们需要统计一个大型网站的独立访问次数时,该用什么的类型来统计?如果我们使用 Redis 中的集合来统计,当它每天有数千万级别的访问时,将会是一个巨大的问题。因为这些访问量不能被清空,我们运营人员可能会随时查原创 2020-09-08 21:19:11 · 2078 阅读 · 0 评论 -
redis 一个有趣且非常有用的功能 -->> 查询附近的人-GEO
文章目录简介GEO的使用基本使用重点参数查询位置信息unit 参数表示统计单位查询某位置内的其他成员信息应用场景简介我们所处的任何位置都可以用经度和纬度来标识,经度的范围 -180 到 180,纬度的范围为 -90 到 90。纬度以赤道为界,赤道以南为负数,赤道以北为正数;经度以本初子午线(英国格林尼治天文台)为界,东边为正数,西边为负数。GEO的使用Redis 在 3.2 版本中增加了 GEO 类型用于存储和查询地理位置,关于 GEO 的命令不多,主要包含以下 6 个:• geoadd:添加地理原创 2020-09-07 15:04:05 · 1940 阅读 · 0 评论 -
Redis 管道技术—Pipeline,python交互中的使用
文章目录Redis 管道技术—Pipeline普通命令模式管道模式管道技术解决了什么问题?管道技术需要注意的事项管道使用Redis 管道技术—Pipeline管道技术(Pipeline)是客户端提供的一种批处理技术,用于一次处理多个 Redis 命令,从而提高整个交互的性能。通常情况下 Redis 是单行执行的,客户端先向服务器发送请求,服务端接收并处理请求后再把结果返回给客户端,这种处理模式在非频繁请求时不会有任何问题。但如果出现集中大批量的请求时,因为每个请求都要经历先请求再响应的过程,这就会造原创 2020-09-07 00:05:40 · 2498 阅读 · 0 评论 -
redis事务,排队执行命令,构建美好代码
文章目录前言事务基本使用开启事务执行事务/放弃事务事务错误&回滚前言事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此客户端的其他命令。事务也是其他关系型数据库所必备的基础功能,以支付的场景为例,正常情况下只有正常消费完成之后,才会减去账户余额。但如果没有事务的保障,可能会发生消费失败了,但依旧会把账户的余额给扣减了,我想这种情况应该任何人都无法接受吧?所以事务是数据库中一项非常重要的基础功能。事务基本使用事务在其他语言原创 2020-09-06 23:05:55 · 2488 阅读 · 0 评论 -
Redis 持久化—RDB,删库跑路?服务器重启?唉,数据持久化,你值得拥有
文章目录持久化的几种方式RDB简介持久化触发手动触发自动触发配置查询RDB 优缺点Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。持久化的几种方式Redis 持久化拥有以下三种方式:快照方式(RDB, Redis DataBase)将某一个时刻的内存数据,以二进制的方式写入磁盘;文件追加方式(AOF,原创 2020-09-06 22:42:50 · 2640 阅读 · 0 评论 -
Redis主从配置,简单滴很
文章目录主从概念主从配置配置主配置从主从概念可参考https://blog.csdn.net/xdc1812547560/article/details/108348999• ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构• master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1• 通过主从配置可以实现读写分离• master和slave都是一个redis实例(redis服务)主从配置配置主原创 2020-09-06 21:42:14 · 2383 阅读 · 0 评论 -
如何让Redis与Python实现交互,在python代码中使用redis数据库进行储存
文章目录安装连接redis相关操作字符串相关操作列表相关操作集合相关操作哈希相关操作redis数据库与python实现交互使用redis库安装pip install redis连接连接redis有两种方式redis.Redis() 和 redis.StrRedis我们通常使用redis.StrRedisr = redis.StrictRedis(host='xxx',port=6379,db=0)# host是连接的数据库IP地址,默认连接本机的# port是端口号,redis端口号是原创 2020-09-06 17:43:11 · 264 阅读 · 0 评论 -
Redis安装配置及基本使用命令
文章目录Redis安装查看帮助命令编辑Redis配置文件启动redis服务打开服务关闭服务Redis的配置文件Redis数据库简单使用redis常用五大数据类型1.redis-string1.set/get/del/append/strlen2.incr/decr/incrby/decrby3.getrange/setrange2.redis-list(单值多value)1.lpush/rpush/lrange2.lpop/rpop3.lindex,按照索引下标获得元素(从上到下)4.llen,求列表长度5原创 2020-09-01 23:48:56 · 2882 阅读 · 0 评论 -
redis的作用,数据库的发展,概念论述
文章目录背景数据库的发展历史RedisRedis是什么?Redis特性Redis 发展历程Redis有什么用?Redis应用场景Redis怎么用?背景随着互联网+大数据时代的来临,传统的关系型数据库已经不能满足中大型网站日益增长的访问量和数据量。这个时候就需要一种能够快速存取数据的组件来缓解数据库服务I/O的压力,来解决系统性能上的瓶颈。传统的用户访问网站的数据交互:但是由于用户的增多,访问量加大,交互数据量增大,于是传统的关系型数据库已经无法满足需求数据库的发展历史在互联网+大数据时代来原创 2020-09-01 21:22:27 · 2884 阅读 · 0 评论