
redis
划水小老虎
这个作者很懒,什么都没留下…
展开
-
redis pipeline管道
redis 的客户端和服务器直接是通过tcp协议连接的,不论是客户端向redis服务发送命令还是客户端接收redis的执行结果,都需要网络通信,需要一定的时间,由于网络性能的不同,往返时间也不同,如果我们处理较多的命令,往返时间累加起来 还是对性能有一定的影响的!由于redis是单线程,所以在执行多个命令时,都需要等待上一条命令执行完才能执行下一条命令,因此,redis底层通信协议提供了对管道技术的支持,通过管道可以一次性发送多条命令,并在执行完毕后将结果一次性返回,当一组命令中的每条命令都不依赖于之前命原创 2021-05-02 15:34:18 · 394 阅读 · 0 评论 -
redis慢查询日志
慢查询日志帮助开发和运维人员定位系统存在的慢操作,所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息记录下来!redis的慢查询记录基于list 链表!相关参数 slowwlog-log-slower-than: 指定执行时间超过多少微秒的命令请求会被记录到日志上slowlog-max-len: 指定服务器最多保存多少条慢查询操作上图中 我慢日志执行时间我设置为0 则代表记录所有的命令 记录条数为10设置一个KEY 试验一下 已原创 2021-05-02 15:01:59 · 129 阅读 · 2 评论 -
redis zset类型
redis的zset类型 又称为有序集合 ,它保留了集合元素不能重复的特性,与set类型不同的是 每一个字段都有一个分数,利用该分数作为排序的依据.有序集合的可以利用分数从小到大排序,虽然有序集合的成员是唯一的,但是分数却可以重复,好比如在一个班级中,学生的学号是唯一的,但是每科成绩却是可以一样的,redis可以利用有序集合存储学生的成绩快速排序排名功能.zset基于ziplist 和 跳跃表实现 请先阅读完下面这段话:它使用 REDIS_ENCODING_ZIPLIST 和 REDIS_ENCOD原创 2021-05-01 17:28:24 · 1338 阅读 · 3 评论 -
redis set集合类型
redis中的set类型与list列表类似,都是可以存储多个字符串元素的集合,但是与list不同的是set集合中不允许重复的元素,而且set集合中的元素是没有顺序的,不存在元素下标!redis的set类型是使用哈希表构造的,支持集合内的增删改查,并支持多个集合间的交集,并集,差集操作!它使用 REDIS_ENCODING_INTSET 和 REDIS_ENCODING_HT 两种方式编码:如果第一个元素可以表示为 long long 类型值(也即是,它是一个整数), 那么集合的初始编码为 REDIS_原创 2021-05-01 16:03:23 · 144 阅读 · 0 评论 -
redis list类型
redis的list类型是用来存储多个有序的字符串,属于线性结构一对一的关系!列表当中的每一个字符看做一个元素,一个列表中可以存储一个或者多个元素,支持存储2^32次方-1个元素,大致相当于4GB;redis的list类型基于双端链表和压缩列表实现!双端链表的实现由 listNode 和 list 两个数据结构构成:其中, listNode 是双端链表的节点:typedef struct listNode { // 前驱节点 struct listNode *prev;原创 2021-04-30 01:16:25 · 243 阅读 · 0 评论 -
redis hash数据类型
redis的hash数据类型 是一个键值对集合 也就是数据结构中的集合数据结构,元素除同处一个集合内并无关联性! 它是一个 string 类型的filed value映射表 ,redis本身是 key value类型的数据库 ,hash相当于在value中又嵌套了一层, 基于字典 或 压缩列表实现 ,默认是 基于压缩列表结构 ,因为能够节省空间, 当然我们也可以自己去转换为字典结构!一,hash表的存储策略字典又称为符号表.关联数组或者映射,也是一种用于保存键值对的抽象数据结构.字典中的每原创 2021-04-29 18:34:43 · 683 阅读 · 0 评论 -
redis string类型
redis 的string类型其最基本的一种数据类型,英文全称(simple dynamic strings)简单动态字符串;redis的其余数据类型都是基于其之上!最大存储512MB;即可存储简单的字符串,也可存储复杂的json/xml,甚至二进制的图像 音频字符串!一,作用一是存储字符串对象,简介中已经说明;二是redis内部也使用了string数据结构用于替换c语言中的char*;看到这里我们不禁要思考,redis为什么不适用c语言的char*类型呢?因为char类型比较单一,不能动态的追加数据原创 2021-04-28 19:48:48 · 131 阅读 · 0 评论 -
redis 设置远程连接
今天在远程连接Redis的时候,发现对Redis中bind的理解的一个误区。一直认为Redis中的配置文件中的bind的作用是:用来限制Redis服务器用来接收来自哪些服务器(IP地址)的Redis连接请求。即:只有在bind指定的IP地址的计算机才可以访问这个Redis服务器。(直到今天我才知道以上的理解都是错误)例如:bind 127.0.0.1 就是用来限制只有本机可以连接redis服务连接bind 0.0.0.0 就是用来允许任意计算机都可以连接redis服务连接。原创 2021-04-28 19:16:24 · 320 阅读 · 0 评论 -
redis conf 配置文件中文详解
# Redis配置文件示例。## 注意,为了读取配置文件,Redis必须# 以文件路径作为第一个参数开始:## ./redis-server /path/to/redis.conf# 关于单位的说明:当需要内存大小时,可以指定# 它通常采用1k 5GB 4M等形式## 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 1000原创 2021-02-04 14:23:13 · 387 阅读 · 0 评论