![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 85
colie_li
coding
展开
-
java对redis的基本操作
一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 1)解转载 2014-12-22 17:44:17 · 594 阅读 · 0 评论 -
Redis应用场景
1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。转载 2015-01-12 17:07:39 · 623 阅读 · 0 评论 -
Jedis对管道、事务以及Watch的操作详细解析
1、Pipeline利用pipeline的方式从client打包多条命令一起发出,不需要等待单条命令的响应返回,而redis服务端会处理完多条命令后会将多条命令的处理结果打包到一起返回给客户端。所以pipeline适合批处理作业可以提升效率如:public static void testMget() { Jedis jedis = RedisCacheClient.g原创 2016-06-08 16:21:01 · 20236 阅读 · 6 评论 -
Redis Cluster原理
摘要Redis Cluster本身提供了自动将数据分散到Redis Cluster不同节点的能力,分区实现的关键点问题包括:如何将数据自动地打散到不同的节点,使得不同节点的存储数据相对均匀;如何保证客户端能够访问到正确的节点和数据;如何保证重新分片的过程中不影响正常服务。这篇文章通过了解这些问题来认识Redis Cluster分区实现原理。认识Redis ClusterRe原创 2017-05-05 16:38:44 · 320 阅读 · 0 评论 -
总结redis的连接方式
jedis客户端操作redis主要三种模式:单台模式、分片模式(ShardedJedis)、含有哨兵的分片模式(JedisSentinel)、集群模式(BinaryJedisCluster),分片模式是一种轻量级集群。1、单台模式:直接通过jedis获取实例就可以2、分片模式:JedisPoolConfig config =new JedisPoolConfig();config.s原创 2017-05-05 18:45:30 · 2029 阅读 · 0 评论 -
缓存穿透,缓存击穿,缓存雪崩解决方案分析
前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方转载 2018-02-06 15:51:57 · 295 阅读 · 0 评论 -
jedis连接池详解(Redis)
原子性(atomicity):一个事务是一个不可分割的最小工作单位,事务中包括的诸操作要么都做,要么都不做。Redis所有单个命令的执行都是原子性的,这与它的单线程机制有关;Redis命令的原子性使得我们不用考虑并发问题,可以方便的利用原子性自增操作INCR实现简单计数器功能;单机模式:package com.ljq.utils;import redis.clients.j...转载 2018-09-08 14:12:25 · 1043 阅读 · 0 评论 -
redis3.2新功能--GEO地理位置命令介绍
概述redis3.2发布rc版本已经有一段时间了,估计RedisConf 2016左右,3.2版本就能release了。3.2版本中增加的最大功能就是对GEO(地理位置)的支持。说起redis的GEO特性,最大的贡献还是咱们中国人。redis作者在对3.2引进新特性的博客中介绍了为什么支持GEO。GEO hashing的api是在Ardb实现的,Ardb是github用户yinqiwen实现的...转载 2018-09-12 19:52:41 · 299 阅读 · 0 评论 -
GeoHash核心原理解析
引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。 饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然后返回距离<=1000米的餐馆。小得意了一...转载 2018-09-12 19:53:19 · 227 阅读 · 0 评论 -
geohash精度问题
一、经纬度距离换算a)在纬度相等的情况下: 经度每隔0.00001度,距离相差约1米; 每隔0.0001度,距离相差约10米; 每隔0.001度,距离相差约100米; 每隔0.01度,距离相差约1000米; 每隔0.1度,距离相差约10000米。 b)在经度相等的情况下: 纬度每隔0.00001度,距离相差约1.1米; 每隔0.0001度,距离相差约11米;...转载 2018-09-12 19:56:07 · 5097 阅读 · 1 评论 -
Redis持久化
定时快照方式(snapshot):该持久化方式实际是在Redis内部一个定时器事件,每隔固定时间去检查当前数据发生的改变次数与时间是否满足配置的持久化触发的条件,如果满足则通过操作系统fork调用来创建出一个子进程,这个子进程默认会与父进程共享相同的地址空间,这时就可以通过子进程来遍历整个内存来进行存储操作,而主进程则仍然可以提供服务,当有写入时由操作系统按照内存页(page)为单位来进行co转载 2016-01-05 23:49:25 · 387 阅读 · 0 评论 -
Redis sort排序
本篇文章介绍下redis排序命令.redis支持对list,set和sorted set元素的排序。排序命令是sort 完整的命令格式如下: SORT key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey] 下面我们一一说明各种命令选项 (1)sort key 这个转载 2016-01-20 22:36:02 · 789 阅读 · 0 评论 -
Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
一、普通同步方式二、事务方式(Transactions)三、管道(Pipelining)四、管道中调用事务五、分布式直连同步调用六、分布式直连异步调用七、分布式连接池同步调用八、分布式连接池异步调用九、需要注意的地方十、测试十一、完整的测试代码jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分转载 2016-01-17 21:48:27 · 567 阅读 · 0 评论 -
redis学习笔记整理
一、redis 环境搭建2二、redis学习笔记之数据类型3三、redis学习笔记之排序11四、redis学习笔记之事务16五、redis学习笔记之pipeline20六、redis学习笔记之发布订阅23七、redis学习笔记之持久化28八、redis学习笔记之主从复制30九、redis学习笔记之虚拟内存31 一、 redis 环境搭建 1.简介转载 2014-12-24 15:05:39 · 831 阅读 · 0 评论 -
Memcache知识点梳理
Memcached概念: Memcached是一个免费开源的,高性能的,具有分布式对象的缓存系统,它可以用来保存一些经常存取的对象或数据,保存的数据像一张巨大的HASH表,该表以Key-value对的方式存在内存中。官网下载地址: http://www.memcached.org/运行环境: linux,BSD,windows都可跑协议理论:http://code.sixap转载 2014-12-26 15:56:52 · 545 阅读 · 0 评论 -
redis 数据类型(二)hash的使用
比较适应存储对象1 hset 设置hash field 的指定值,如果不存在key,先创建 hset user:001 name zhangsan user:001 看做一个表2 hsetnx hsetnx myhash filed "hello"3 hmset 同时这种hash 的多转载 2015-01-21 14:28:53 · 512 阅读 · 0 评论 -
redis 数据类型list的使用
push pop 队列先进先出 栈先进后出 list 既可以作为栈又可以作为队列List 是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字redis 的list类型其实就是一个每个子元素都是string 类型的双向链表1 lpush 从list 头部压入一个元素 先进后出 lpush转载 2015-01-21 14:26:51 · 782 阅读 · 0 评论 -
redis 数据类型(一)string的使用
1 set set 直接设置一个值,如果存在 直接覆盖2 setnx setnx设置一个值,如果存在,返回空,如果不存在,直接设置 3 setrange 指定key子字符串 set email zhangsan@126.com setrange email 9 163.com转载 2015-01-21 14:29:30 · 528 阅读 · 0 评论 -
redis 数据类型(四)sets的使用
set 是集合,是string 类型的无序集合,set是通过hash table 实现的,添加 删除 查找复杂度 都是0(1) ,对集合可以取并集,交集,差集,通过这些操作可以实现sns 中好友推荐和blog的tag功能1 sadd 添加一个元素,如果添加存在的值,那么添加不成功 sadd mysql hello sad转载 2015-01-21 14:29:59 · 542 阅读 · 0 评论 -
redis 数据类型(五) zset sorted sets的使用
zset 是sets 一个升级 ,是有序集合,这一属性在添加修改元素的时候可以指定,每次指定后,zset 会自动冲洗按心的值调整顺序,可以理解为两列的mysql表一两存value,一列存顺序,key理解为zset名字1 zadd 向集合中添加一个元素 如果值存在则更新顺序号 zadd myset 1 one zadd myset 2 t转载 2015-01-21 14:31:04 · 696 阅读 · 0 评论 -
Jedis使用总结
package com.wujintao.redis;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.junit.Test;imp转载 2015-12-11 00:27:56 · 1174 阅读 · 0 评论 -
redis-JedisPoolConfig配置
edisPoolConfig config = new JedisPoolConfig(); //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认trueconfig.setBlockWhenExhausted(true); //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数)co转载 2015-12-11 00:21:06 · 4852 阅读 · 0 评论 -
Redis原理及实践之GeoHash
2. 地理位置距离排序算法(GeoHash) GeoHash算法思想 GeoHash算法将二维的经纬度数据映射到一维的整数,这样所有的元素都将挂载到一条线上,距离靠近的二维坐标映射到一维后的点之间距离会很接近。当我们想要计算附近的人时,首先将目标位置映射到这条线上,然后在这条一维的线上获取附近的点就ok了。 那这个映射算法具体是怎样的呢?它将整个地球看成一个二维平面,然后划分成了一系列正...转载 2018-09-12 21:22:07 · 1054 阅读 · 0 评论