
redis入坑
ZFH__ZJ
JAVA大数据菜鸟一枚,QQ群:970045528,欢迎加入交流学习
展开
-
1. redis是什么、redis特性、及典型使用场景
Redis是什么开源的,基于键值对的存储服务系统,有多种数据结构,高性能,功能丰富redis特性速度快官网 每秒10w OPS数据存在内存使用C语言编写线程模型使用单线程持久化持久化,断电不丢失数据Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上多种数据结构string、list、set、hash、zset、BitMaps(位图)、HyperLogLog(超...原创 2019-04-11 17:29:14 · 194 阅读 · 0 评论 -
14. redis的HyperLogLog功能
HyperLogLog什么是HyperLogLog基于HyperLogLog算法,用极小空间完成独立数量统计,本质还是字符串三个命令命令说明pfadd key elememt [element…]向HyperLogLog添加元素pfcount key [key…]计算HyperLogLog的独立总数pfmerge destkey sourcekey [s...原创 2019-04-15 14:39:13 · 187 阅读 · 0 评论 -
13.redis位图功能
位图什么是位图首先看看big这个字符串对应的二进制这个二进制放在redis的解构就如下这个就叫做位图api命令说明注意事项setbit key offset value给位图指定索引设置值,返回的是指定位图索引之前的值,若不存在则返回0注意,如果offset设置过大,则当前最大的索引到该offset之间都会补0,操作本身比较慢getbit key o...原创 2019-04-15 14:24:13 · 206 阅读 · 0 评论 -
12. redis发布订阅功能
发布订阅角色发布者 publisher订阅者 subscriber频道 channel模型订阅者只会收到订阅频道的消息一个订阅者可以订阅多个频道频道所有的订阅者都可以收到消息订阅者获取不到频道的历史消息APIapi说明publish channel message发送消息到某个频道,返回的结果是该频道的订阅者数量subscribe [channe...原创 2019-04-15 12:56:57 · 182 阅读 · 0 评论 -
11. redis的pipeline功能
pipeline什么是流水线1次时间=1次网络时间 + 1次命令时间n次时间=n次网络时间 + n次命令时间1次pipeline(n条命令) = 1次网络时间 + n次命令时间流水线作用命令N个命令操作1次pipeline(N个命令)时间n次网络时间 + n次命令时间1次网络时间 + n次命令时间数据量1条命令n条命令要注意redis...原创 2019-04-15 12:29:13 · 342 阅读 · 0 评论 -
10. Redis慢查询功能
慢查询客户端请求的生命周期慢查询发生在第3阶段客户端超时不一定是慢查询,慢查询是客户端超时的一个可能因素两个配置slowlog-max-len慢查询是一个先进先出的固定长度的队列,保存到内存中slowlog-log-slower-than慢查询阈值(单位,微秒,1秒 = 1000毫秒,1毫秒 = 1000微秒 )slowlog-log-slower-than=0则记录所有命令...原创 2019-04-15 12:27:39 · 175 阅读 · 0 评论 -
9. java的Redis客户端Jedis
什么是jedisjedis是使用java语言开发的redis客户端获取jedis使用maven<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <art...原创 2019-04-13 17:14:47 · 165 阅读 · 0 评论 -
8. redis有序集合相关
有序集合键值结构有序集合也是一个key,一个value,只不过有序集合的value分为score和value两部分,score是分数,value是值apiapi含义时间复杂度zadd key socre1 element1 socre2 element2 … socren elementn添加score和elemenet,可以添加多对O(logN)zrem k...原创 2019-04-13 13:27:13 · 159 阅读 · 0 评论 -
7. redis集合相关
集合Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。特点无序,无法通过索引下表取出集合中的元素无重复集合间的操作apiapi含义sadd key element向集合key添加element,如果element已经存在,添加失...原创 2019-04-13 11:34:52 · 192 阅读 · 0 评论 -
6. redis列表相关
列表键值结构列表的value是一个有序的列表APIapi含义时间复杂度rpush key value1 value2 … valuen从列表右端插入值(1-n个)O(1~n)lpush key value1 value2 … valuen从列表左端插入值(1-n个)O(1~n)linsert key before|after value newVal...原创 2019-04-13 11:13:53 · 161 阅读 · 0 评论 -
5. redis哈希相关
哈希键值结构哈希也是一个key,一个value,只不过哈希的value分为field和value,field是属性,value是值apiapi含义时间复杂度hget key field获取hash key对应的field的valueO(1)hset key field value设置hash key 对应的field的valueO(1)hdel ke...原创 2019-04-13 09:30:11 · 147 阅读 · 0 评论 -
16.redis持久化
持久化的作用什么是持久化redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上持久化的实现方式快照,某时某点的完整数据备份写日志,数据库任何更新操作写日志RDB什么是RDB触发机制-主要的三种方式save(同步)生成文件策略,如果存在老的RDB文件,新替换老,会先生成一个临时文件,然后替换,时间复杂度O(n)bgsave(异步)bgsave的fork过程通常...原创 2019-04-15 20:52:31 · 214 阅读 · 0 评论 -
4. redis字符串相关
字符串键值结构keyvaluehelloworldhello1bits10111101user{“id”:1,“name”:zj}字符串不能超过512MB使用场景缓存计数器,视频播放量分布式锁等APIapi含义时间复杂度get key获取key对应的valueO(1)set key value设置k...原创 2019-04-12 13:02:34 · 118 阅读 · 0 评论 -
3. redis通用命令
集合Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。特点无序,无法通过索引下表取出集合中的元素无重复集合间的操作apisadd key element 向集合key添加element,如果element已经存在,添加失败srem key elem...原创 2019-04-11 20:20:08 · 172 阅读 · 0 评论 -
2. redis安装、配置、启动、连接
redis安装部署安装下载安装包,如,redis-5.0.4.tar.gz解压缩 tar -zxvf redis-5.0.4.tar.gz -C /data/module/重命名 mv redis-5.0.4/ redis进入redis目录,执行yum -y install gcc automake autoconf libtool makemake MALLOC=libcmak...原创 2019-04-11 19:22:50 · 189 阅读 · 0 评论 -
15. redis的GEO功能
GEO什么是GEOGEO(地理信息定位),存储经纬度,计算两地距离,范围计算等相关命令api说明geoadd key longitude latitude member增加地理位置信息,member是一个表示geopos key member获取地理位置信息geodist key member1 member2 [unit]获取两个地理位置的距离,un...原创 2019-04-15 15:16:55 · 284 阅读 · 0 评论