![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 86
·梅花十三
这个作者很懒,什么都没留下…
展开
-
redis.conf 配置文件详解——附中文说明
附上redis.conf 文件详解:# Redis配置文件样例# 单位注意事项:当需要内存大小时,可以指定,它以通常的形式 1k 5GB 4M 等等:## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000000000 bytes# 1gb => 1024*1024*1024 bytes## 单位不区分大小写,.原创 2022-04-18 18:32:26 · 16441 阅读 · 1 评论 -
Redis五大数据类型——Set集合
Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍Set 集合用于存储无序且不重复的元素。列表可以存储重复元素,而集合只会存储非重复元素。如添加已存在的元素将被忽略Set 重要的特性:即在服务器端完成多个Sets之间的聚合计算操作,如unions、intersections和differences。由于这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销。...原创 2022-04-15 09:22:47 · 1040 阅读 · 0 评论 -
Redis进阶高频面试:缓存穿透、缓存击穿、缓存雪崩
一、前言Redis是非关系型数据库,数据都存储在内存中,既可以当做数据库存储数据,也能作为日常缓存使用,本文主要探讨Redis作为缓存,在实践中可能会有哪些问题?比如一致性, 穿击, 穿透, 雪崩, 污染等。在我们实际开发过程中对缓存使用也是高频用到的场景,以及面试大法!♦ 为什么要了解?缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面,也大大缓解了数据库访问压力,但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的原创 2021-12-20 14:43:37 · 833 阅读 · 0 评论 -
Redis进阶——哨兵模式 :命令演示详解
前言主从复制模式虽然能够负载均衡,减轻主机压力,但配置过程中需要注意:一旦主机挂载过多的从节点,当主机故障重启后,多个从节点同时发起复制,导致复制风暴全量复制会触发bgsave,主节点首先需要fork子进程将当前数据保存到RDB文件中,然后再将RDB文件通过网络传输到从节点,那么就会产生2个问题:fork的过程主节点是阻塞的 如果主节点在fork子进程+保存RDB文件时耗时过多,可能会导致从节点长时间收不到数据而触发超时;此时从节点会重连主节点,然后再次全量复制,再次超时.. 造成循.原创 2022-04-18 18:31:30 · 4837 阅读 · 1 评论 -
Redis进阶——主从复制:命令演示搭建
前言一般来说,要将Redis运用于工程中,只使用一台Redis服务是万万不能的,在实际的场景当中单一节点的redis容易面临风险。主要原因有:结构:单个Redis服务器会发生单点故障,其次一台服务器需处理所有的请求负载,压力较大 容量:单个Redis服务器内存容量有限,就算一台Redis服务器内存容量为256g,也不能将所有内存用作Redis存储内存,通常情况,单台Redis最大使用内存不应该超过20g如果服务器发生故障,就需要迁移到另外一台服务器上并且还要考虑数据同步问题,另外也存在容量瓶颈原创 2021-12-20 16:04:23 · 312 阅读 · 1 评论 -
Redis进阶——发布订阅详解
什么是发布订阅?Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 的 subscribe 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端。☛ 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:☛ 当有新消息通过 publish命令发送给频道.原创 2022-04-18 18:29:01 · 23318 阅读 · 2 评论 -
图解Redis持久化底层实现原理——RDB/AOF
一、背景Redis作为一个内存数据库,数据是以内存为载体存储的,即所有数据都保存在内存中。一旦Redis服务器进程退出或宕机,即便重启redis服务,数据也会全部丢失。为了解决这个问题,Redis提供了持久化机制,说白了就是把数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据!★ Redis提供2种持久化方案:RDB 将在内存中的数据库记录定期生成快照存入磁盘中 AOF 将Reids的操作日志以追加的方式写入文件,一个是快照的方式,一个是类似日志追加的方式二、...原创 2021-12-15 16:11:16 · 3689 阅读 · 2 评论 -
Redis基本的事务操作
Redis事务的本质:将多个命令打包,然后一次性,按顺序的执行!保证一个队列中,一次性、顺序性、排他性的执行一串命令(作用是防止别的命令插队)一、Mysql事务四大特性理解Redis事务之前,先来复习传统关系性数据库Mysql 中具有事务的四大特性:ACID◈原子性 (Atomicity) 一个事务中的所有操作,要么全部完成,要么全部不完成!如果事务中某条语句执行失败了,前面已经执行了的语句,会回滚到未执行前的状态,就像这个事务从来没有执行过一样。◈ 一...原创 2022-04-15 09:31:57 · 431 阅读 · 0 评论 -
Redis三种特殊数据类型——bitmap位图计算
Redis三种特殊数据类型:bitmaps位图、hyperloglog基数统计 和 geospatial 地理空间一、介绍位图计算。Redis提供的Bitmaps可以实现对位的操作。Bitmaps本身不是一种数据结构,实际上就是字符串,可以对字符串的位进行操作。可以把Bitmaps想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在bitmaps中叫做偏移量。单个bitmaps的最大长度是512MB,即2^32个比特位。优点省空间:基于最小的单位bit进.原创 2022-04-21 09:23:20 · 995 阅读 · 0 评论 -
Redis三种特殊数据类型——Hyperloglog基数统计
Redis三种特殊数据类型:bitmaps位图、hyperloglog基数统计 和 geospatial 地理空间一、介绍Redis HyperLogLog 是用来做基数统计的,即计算在一批数据中,不重复元素有多少个!应用场景:网站页面用户访问量、日活跃数等优点:极少的内存来统计巨量的数据,12K就能统计 2^64 的数据 缺点:存在一定的误差,误差率为 0.81%;二、操作命令命令 功能 描述 pfadd 添加 往HLL ...原创 2022-04-21 09:24:55 · 265 阅读 · 0 评论 -
Redis三种特殊数据类型——Geospatial地理空间
Redis三种特殊数据类型:bitmaps位图、hyperloglogs基数统计 和 geospatial 地理空间一、介绍Redis GEO 用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。主要应用于:附近的人、定位二、数据结构底层是使用zset进行实现的,zset的命令也可以直接使用。Redis GEO 使用 geohash 来保存地理位置的坐标。三、操作命令命令 功能 描述 geoadd 添加地理位置 ..原创 2022-04-21 09:27:05 · 907 阅读 · 0 评论 -
Redis五大数据类型——Hash哈希
Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍Redis 中的(Hash)类型是一个 String 类型与 field 和 field-value 的映射表,适用于存储对象,将一个对象类型存储在Hash类型中要比存在 String 类型中占用要更小,更加节省内存空间以下是 String 类型和 Hash 类型的结构比较:二、数据结构底层使用两种数据结构存...原创 2022-04-15 09:22:15 · 2779 阅读 · 0 评论 -
Redis五大数据类型——Zet有序集合
Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍Zset 是Set的一个升级版本,他在set的基础上增加了一个顺序属性,每个member成员都带有一个score分数( redis通过分数进行集合内成员的排序)。有序集合的成员是唯一的,但分数(score)却可以重复场景:很适合在打赏日榜、近一周收益这类场景中运用。应用排名模块比较多。二、数据结构底层使用两...原创 2022-04-15 09:58:53 · 1810 阅读 · 0 评论 -
Redis五大数据类型——List列表
Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍列表(list)用于存储多个有序的字符串。可以充当栈和队列的角色一般有序会采用数组或者是双向链表,其中双向链表由于有前后指针实际上会很浪费内存。二、操作命令操作类型 命令 添加 rpush、lpush、linsert 修改 lset 删除 lpop、rp...原创 2021-12-17 09:50:02 · 12134 阅读 · 2 评论 -
Redis五大数据类型——String字符串
Redis五大数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sorted set:有序集合)。一、介绍String 是Redis 最基本的类型,一个 key 对应一个 value。特点二进制安全的 可以包含任何数据:序列化的对象、简单的字符串、复杂的字符串(xml、json)、数字(整数、浮点数)、二进制(图片、音频、视频) value值最大能存储 512MB如果只用String类型,可以被看作加上持久化特性(服务器重启...原创 2021-12-17 09:48:34 · 558 阅读 · 0 评论 -
初始redis基础了解
一、了解RedisRedis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询. Redis 内置了 复制(replication), LUA脚本(Lua scripting), LRU驱动事件(原创 2022-04-21 09:30:15 · 257 阅读 · 0 评论 -
Redis-benchmark性能测试工具使用详解
一、说明Redis客户端源码包含一个名为redis-benchmark的性能测试工具,它可以模拟N个客户端同时向Redis发送M条查询命令的应用场景。下载并安装了redis的安装目录就默认有:二、如何使用准备工作:首先依次使用如下命令,分别开启redis服务,和连接客户端(可不连接,主要是确认服务是否能够被连接)-- 1. 开启服务redis-server /usr/local/etc/redis.conf-- 2. 客户端连接服务redis-cli -p 6379.原创 2022-04-21 09:21:15 · 7355 阅读 · 0 评论 -
redis启动服务和连接客户端
注意1:不要使用brew service start redis开启服务,会无法关闭!!需要打开“活动监视器” 找到redis服务的进程,用kill -9 [pid名称] 杀死进程!!!注意2:本演示采用的是Mac电脑终端操作,非windows和Linux系统常见命令一、启动服务-- 1.启动服务(此种方式可以不用服务端和客户端开2个窗口)redis-server /usr/local/etc/redis.conf-- 2.启动服务(cd进入 /usr/local/bi...原创 2022-04-21 09:29:35 · 1752 阅读 · 0 评论