![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 72
wondertang
专注同城极速配送
展开
-
redis详解-(1)redis的安装
1.redis环境使用Vmware+CentOS6.5环境,建议使用windows的用户尽量先安装Vmware虚拟机,使用Linux环境进行操作,方便后面搭建集群使用。2.redis下载进入http://www.redis.io查看redis稳定版本进行下载,这里使用的是redis3.x中的稳定版本3.2.11作为本系列的演示版本,具体根据自身情况选择相应的版本,不做要求。 su - root原创 2017-10-29 20:51:08 · 290 阅读 · 0 评论 -
redis-pub/sub
使用redis实现简单的发布订阅功能,很简单看看小例子RedisUtil工具类package com.redis.util;import org.apache.log4j.Logger;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.J...原创 2018-06-22 14:42:36 · 231 阅读 · 0 评论 -
redis-Geo
Redis在3.2版本里面新增的一个功能就是对GEO(地理位置)的支持。地理位置大概提供了6个命令,分别为: 1.GEOADD 2.GEODIST 3.GEOHASH 4.GEOPOS 5.GEORADIUS 6.GEORADIUSBYMEMBER 这个功能在现在互联网行业用处还是很多的,比如: 附近的人,网约车,外卖…. 试验了一下,感觉非常好用,记录下来package...原创 2018-06-22 13:37:49 · 422 阅读 · 0 评论 -
Redis-HyperLogLog
HyperLogLog命令是redis在2.8版本中加入的,Redis中HyperLogLog是用来做基数统计的。HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的,因此每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 264 个不同元素的基数。但是HyperLogLog也存在缺点,就是它是估计基数的算...转载 2018-06-22 10:03:48 · 532 阅读 · 0 评论 -
Redis-Jedis-String
package com.redis.string;import com.redis.util.RedisUtil;import org.junit.jupiter.api.Test;import redis.clients.jedis.Jedis;import java.util.List;public class StringTest { /** * get...原创 2018-06-20 18:00:53 · 278 阅读 · 0 评论 -
redis详解-(14)分布式集群原理
Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计。节点主从:主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 详情请参考:https://blog.csdn.net/yejingtao703/article/details/78484151...转载 2018-05-20 19:02:13 · 236 阅读 · 0 评论 -
redis详解-(13)LRU回收算法
Redis中采用两种算法进行内存回收,引用计数算法以及LRU算法,在操作系统内存管理一节中,我们都学习过LRU算法(最近最久未使用算法),那么什么是LRU算法呢LRU算法作为内存管理的一种有效算法,其含义是在内存有限的情况下,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间,那么选择淘汰哪些对象呢?LRU算法就提供了一种策略,告诉我们选择最近一段时...转载 2018-05-20 11:22:43 · 598 阅读 · 0 评论 -
redis详解-(4)列表
redis的列表是基于LinkedList实现,元素是字符串类型,列表头尾增删快,中间增删慢,增删元素是常态。 列表中元素可以重复出现,最多包含2的32次方减1个元素。列表的索引从左至右从0开始,列表的索引从右至左从-1开始。 正数索引 0 1 2 3 4 语言 C R Java Python Scala 负数索引 -5 -4 -3原创 2017-10-30 16:10:29 · 266 阅读 · 2 评论 -
redis详解-(12)TwemProxy
前面几篇介绍了redis的读写分离和高可用,对于一般的架构已经可以满足。但是对于大型的架构,写请求仍然是一个瓶颈,亟待解决。 主从对写压力没有分担。 解决思路就是使用多个节点分担,将写请求分散到不同节点处理。 分片sharding:多节点分担的思路就是关系型数据库处理大表的水平切分思路。 twemproxy开发,代理用户的读写请求。 twitter开发的代理服务器,兼容redis和me原创 2017-11-02 22:58:27 · 222 阅读 · 0 评论 -
redis详解-(11)哨兵案例
上一篇以说明的形式介绍了redis哨兵模式的一些内容,本篇将一步一步的动手搭建一个redis多机器多哨兵的服务。1.准备三台服务器(或者虚拟机),系统CentOS6.5 ip 主机名 192.168.72.133 hadoop1 192.168.72.129 hadoop2 192.168.72.135 hadoop32.启动主从服务按照如下的配置,将每台服务器上面的原创 2017-11-01 16:43:04 · 624 阅读 · 0 评论 -
redis详解-(10)哨兵
上一篇介绍了redis和创建主从的几种方法,但都是手动的创建和切换,本篇介绍一下redis的自动切换模式。高可用sentinel 官方提供的高可用方案,可以用它管理多个redis服务实例 编译后产生redis-sentinel程序文件 redis sentinel是一个分布式系统,可以在一个架构中运行多个sentinel进程。启动sentinel 将src目录下产生redis-sentine原创 2017-10-31 18:55:23 · 220 阅读 · 0 评论 -
redis详解-(9)主从复制
集群分类 主从复制 Replication 高可用 Sentinel 集群 Cluster 分布式 twemproxy1.主从复制一个redis服务可以有多个该服务的复制品,这个redis服务称为master,其他复制品称为slaves; 只要网络连接正常,master会一直讲自己的数据更新同步给salves,保持主从同步; 只有master可以执行写命令,slaves只能执行读命令。原创 2017-10-31 17:34:30 · 260 阅读 · 1 评论 -
redis详解-(8)持久化
什么是持久化? 将数据从掉电易丢失的内存存放到能够永久存储的设备上。 作为缓存服务器,数据服务器,队列服务器都需要持久化吗? 因为redis服务器将数据存储在内存中,而一旦服务器被关闭、或者运行服务器的主机本身被关闭,存储在内存中的数据就会消失不见。 如果我们仅仅将redis用作缓存的话,那么这种数据丢失带来的问题并不是非常大,我们需要重新启动原创 2017-10-31 15:19:29 · 185 阅读 · 0 评论 -
redis详解-(7)有序集合
上一篇介绍了redis的无序集合set,本篇介绍redis的有序集合sortedset。和set集合类似,sortedset是有序的去重的,元素是字符串类型。 每一个元素都关联着一个浮点数分值(score),并按照分值从小到大的顺序排列集合中的元素,分值可以相同。 一个集合最多包含2的32次方减1个元素。一个保存了水果价格的有序集合 分值 2.8 3.5 4.3 6.8原创 2017-10-31 13:18:40 · 1088 阅读 · 0 评论 -
redis详解-(6)无序集合set
上一篇介绍了redis的无序hash散列,本篇将介绍redis的有序集合set set集合是无序的去重的集合,元素是字符串类型,每个集合最多包含2的32次方减1个元素。1.增加一个或多个元素 sadd key member [member …]添加一个元素添加多个元素添加去重(已经添加过lucy,再次添加无法添加进去)2.移除一个或多个元素 srem key member [member原创 2017-10-30 22:25:33 · 1557 阅读 · 0 评论 -
redis详解-(5)hash散列
延续上一篇list,本次主要介绍hash类型由field和关联的value组成的map键值对,field和value为字符串类型,一个hash散列最多包含2的32次方减1个键值对。1.设置单个字段key的field不存在的情况下执行,key不存在直接创建 hset key field value hget key field hsetnx key field value2.设置原创 2017-10-30 18:54:03 · 703 阅读 · 0 评论 -
redis详解-(3)字符串键2
延续上一篇的介绍,本节继续介绍redis的一些基本命令1.incrby/decrbyincrby增加数据(初始值也可以通过set操作) decrby减少数据(如果incrby增加的负数,跟decrby效果一样) 不能使用append进行添加,append做连接操作。2.incr/decr某些情况,只需要加一,减一,为了简便操作,redis提供了incr和decr两个命令 incr加一 dec原创 2017-10-30 10:33:06 · 271 阅读 · 0 评论 -
redis详解-(2)字符串键1
延续上一篇的操作,使用redis-cli连接redis服务1.简单使用演示在数据库中存放一个键值对mykey:abc 从数据库总获取到键的值2.select切换数据库从/etc/redis/6379.conf配置文件中可以知道redis有16个数据库,默认使用0数据库 使用 select + 数据库 切换数据库。 如:切换到数据库15,再获取mykey,返回空。切换回到原来的数据库,再次获取m原创 2017-10-29 22:52:06 · 269 阅读 · 0 评论 -
redis-bitMap
记录一下使用bitMap的一些操作。 bit操作保存的数据只能是0或者1,这对于判断true/false的统计具备天然的优势。 比如签到签退等等。同时也记录一下踩过的一些坑:进行setbit操作之后,使用bitcout统计数据总是有问题,就一直纠结为啥,后来想着是不是跟hbase一样,按照前缀进行匹配的呢? 试了一试,仍然不行,后来就查了很多的资料,才发现是bit和byte的差别。...原创 2018-06-22 17:25:14 · 471 阅读 · 0 评论