Redis
文章平均质量分 91
粪逗er
努力的人运气不会差
展开
-
Redis命令
Redis 命令参考 — Redis 命令参考1. Key(键)type key功能:查看key的类型返回值:none(key不存在)、string(字符串)、list(列表)、set(集合)、zset(有序集)、hash(哈希表)exists key功能:判断key是否存在返回值:存在—1,不存在—0del key [key...]功能:删除一个或多个key,不存在的key会被...原创 2022-03-22 17:01:33 · 844 阅读 · 0 评论 -
Redis GEO
GEO是什么?地理位置信息:存储经纬度、计算两地距离、范围计算等。GEOADD key longitude latitude member [longitude latitude member …] # 增加地理位置信息GEOPOS key member [member …] # 获取地理位置信息GEODIST key member1 member2 [unit] # 获取两个地理位置的...原创 2018-12-24 11:02:55 · 1082 阅读 · 1 评论 -
Redis HyperLogLog
基于HyperLogLog的算法:极小空间完成独立数量统计本质还是字符串三个APIPFADD key element [element …]:向HyperLogLog中添加元素PFCOUNT key [key …]:计算HyperLogLog的独立总数PFMERGE destkey sourcekey [sourcekey …]:合并多个HyperLogLog使用经验1)是否能容忍错...原创 2018-12-24 10:46:17 · 335 阅读 · 0 评论 -
Redis twemprox服务器池
主从复制+哨兵解决了读性能和高可用问题,但没有解决写性能问题。Twemproxy将写请求分配到不同节点处理。实现原理Twemproxy是Twitter开源的一个redis和memcache代理服务器。(1)允许用户将多个redis服务器添加到一个服务器池里面,并通过用户选择的散列函数和分布函数,将来自客户端的命令请求分发给服务器池中的各个服务器;(2)通过使用twemproxy可以将...原创 2018-11-18 14:20:19 · 210 阅读 · 0 评论 -
Redis流水线pipeline
一般情况下,用户没执行一个Redis命令,客户端与服务器都需要进行一次通信:客户端将命令发送给服务器,而服务器则会将执行命令所得的结果返回给客户端。当程序执行一些复杂的操作时,客户端可能需要执行多个命令,并与服务器进行多次通信。在多数情况下,客户端再执行Redis命令时,大部分等待时间都耗费在了发送命令请求和接收命令回复上面。Redis流水线功能允许客户端一次将多个命令请求发送给服务器,...原创 2018-11-18 12:56:50 · 362 阅读 · 0 评论 -
Redis哨兵Sentinel
Sentinel是Redis的高可用性解决方案:由一个或多个Sentinel示例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器的某个从服务器升级为主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。info Replication # 查看服务器的当前状态config get sla...原创 2018-11-18 12:39:57 · 236 阅读 · 0 评论 -
Redis监视器
通过monitor命令,客户端可以将自己变成一个监视器,实时的接受并打印出服务器当前处理的命令请求的相关信息。每当一个客户端向服务器发送一条命令请求时,服务器除了会处理这个请求外,还会将关于这条命令请求的信息发送给所有的监视器示例:开启了两个客户端,一个执行monitor进行监控服务器,另外一个向服务器发送请求...原创 2018-11-18 10:07:13 · 208 阅读 · 0 评论 -
Redis二进制位数组BitMap
位图法统计活跃用户1亿个用户,用户有频繁登陆的,也有不频繁登陆的如何记录用户的登陆信息如何查询活跃用户,如一周内登陆3次的Redis提供了setbit、getbit、bitcount、bitop四个命令用于处理二进制位数组。# setbit key pos [0/1] 设置key的第pos位置为0或者1> setbit bit 0 1 # 设置第0位为1 0000000...原创 2018-11-18 09:56:23 · 1834 阅读 · 1 评论 -
Redis慢查询日志
Redis慢查询日志的功能:用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志监视和优化查询速度。慢查询的配置参数(1)慢查询的预设阀值 slowlog-log-slower-than单位是微妙,默认值是1000,(如果一条命令的执行时间超过10000微妙,那么它将被记录在慢查询日志中)(2)慢查询日志最多存储多少条 slowlog-max-len慢查询日志的...原创 2018-11-16 21:51:44 · 1503 阅读 · 0 评论 -
Redis主从复制
注意点:Redis主从复制的缺陷 slaver断线重启后,之前同步的RDB文件和AOF文件就会丢失,需要重新进行复制。—>因此如果多个Slave断线重启,就都会发送sync请求和主机全量同步,当多个同时出现的时候,可能会导致Master IO剧增宕机 主服务器master、从服务器slaver 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个...原创 2018-11-16 20:31:11 · 195 阅读 · 0 评论 -
Redis持久化方式:RDB/AOF
一. Redis持久化的简单介绍所有的数据都存储在内存中,为了保证Redis在重启之后仍然能保证数据不丢失,那么就需要将数据从内存同步到硬盘上,这个过程就叫做持久化操作。[1]RDB快照持久化每隔N分钟或N次写操作,从内存dump数据形成rdb文件,压缩后,放在备份目录注意:红色部分可以通过参数来配置[root@localhost redis] cd /usr/local/redis/...原创 2018-11-16 16:03:21 · 239 阅读 · 0 评论 -
Redis消息发布与订阅
Redis消息发布与订阅 类比于 收音机和广播台,当收音机订阅了广播台后,广播台一发布消息,收音机就会收到消息适合做在线聊天,消息推送消息发布者 publish [频道] "Today is sunshine"消息订阅者 subscribe [频道]...原创 2018-11-16 15:38:49 · 301 阅读 · 0 评论 -
Redis事务与锁应用
将一系列操作绑定成一个事务,这些操作要么都发生,要么都不发生。redis中与事务有关的3种操作:multi # 开启事务exec # 执行事务discard # 取消事务举例127.0.0.1:6379> multi # 开启事务OK127.0.0.1:6379> set wang 1000QUEUED # 命令并不执行,而是放在任务队列中12...原创 2018-11-16 15:21:27 · 251 阅读 · 0 评论 -
Redis设计与实现读书笔记之第一部分: 数据结构与对象
(一) 简单动态字符串SDSRedis没有直接使用C语言传统的字符串表示(以空字符串结尾的字符串),而是构建了简单动态字符串SDS,其定义struct sdshdr{ int len; //记录buf数组中已使用字节的数量 int free; //记录buf数组中未用字节的数量 char buf[]; //字节数组,用于保存字符串};SDS相对于C字符串的优点1. O(1)...原创 2018-11-16 14:06:08 · 121 阅读 · 0 评论 -
Redis的5种数据结构[命令]
Redis命令参考:http://redisdoc.com/index.html字符串127.0.0.1:6379> set name Tom #创建字符串name,值为"Tom"原创 2018-11-15 18:09:49 · 225 阅读 · 0 评论 -
Redis介绍以及安装
[1]下载源码,在CentOS下安装解压make # 编译sudo make PREFIX=/usr/local/redis install # 安装到指定目录sudo cp redis.conf /usr/local/redis安装完成后,在/usr/local/redis/bin下有几个可执行文件redis-benchmark # 性能测试工具redis-check-...原创 2018-11-15 17:04:43 · 211 阅读 · 0 评论