-------14.4. Redis
在风中的意志
这个作者很懒,什么都没留下…
展开
-
Redis 安装与启动
Redis的 安装 安装分为 源码安装、二进制安装(Windows)、docker安装。 本文主要介绍源码安装。0. 准备工作源码安装依赖GCC,所以需要GCC -v 命令判断GCC是否存在。1. 安装步骤1.1 安装wget http://download.redis.io/releases/redis-4.0.6.tar.gztar xzf r原创 2018-01-11 18:02:16 · 350 阅读 · 0 评论 -
Redis Cluster 运维环境安装记录
前言之前安装Redis Clutser模式遇到很多坑,一直没有总结。最近有时间,总结一下,相关的内容。Redis 安装(略)GCC安装Ruby的安装Ruby内 Redis.gem的安装Redis Cluster的安装配置和启动本文使用的资源,可在我的Github项目https://github.com/SeanYanxml/bigdata/tree/master/redis...原创 2018-07-18 11:44:56 · 563 阅读 · 0 评论 -
Redis Q&A (持续更新)
前言本章主要记录使用Redis&Redis Cluster&Jedis的过程中遇到的报错与一系列问题。Q&A单个Jedis,多线程调用,导致异常。 * 多线程redis抛出异常B cannot be cast to java.lang.Long * https://blog.csdn.net/JavaMoo/article/details/7723...原创 2018-07-19 15:10:09 · 373 阅读 · 0 评论 -
几点建议,让Redis在你的系统中发挥更大作用
前言于2011年redis的作者写了一篇关于Redis使用优点的文章How to take advantage of Redis just adding it to your stack 。中文翻译为:几点建议,让Redis在你的系统中发挥更大作用。其中非常详细的介绍了Redis的常见的使用场景。总结概括如下几点:显示最新的项目列表(List)删除与过滤(List)排行榜相关(zs...转载 2018-07-26 21:52:59 · 502 阅读 · 0 评论 -
瞬时高并发(秒杀/活动)Redis方案
前言看到一篇写redis的总结性文章,非常不错。转载于此。丰富的数据结构(Data Structures)字符串(String) Redis字符串能包含任意类型的数据 一个字符串类型的值最多能存储512M字节的内容 利用INCR命令簇(INCR, DECR, INCRBY)来把字符串当作原子计数器使用 使用APPEND命令在字符串后添加内容...转载 2018-07-26 22:01:34 · 3219 阅读 · 0 评论 -
Redis Demo系列之(一)获取Jedis链接及Jedis连接池
前言本章主要介绍Redis的Java实现Jedis的获取与简单使用,本章节主要包括如下几个部分:Jedis JedisPoolRedisSentinelPool(哨兵模式)RedisClusterPool(集群模式) 注: Spring-Redis还有使用ShardRedis以及RedisTemplate进行操作Redis的,本人未深入研究,故略。本文相关代码,可在我的Gi...原创 2018-07-26 22:28:16 · 1865 阅读 · 0 评论 -
Redis 如何删除所有内容
Question删除Redis内所有内容。Solutionredis-clipublic static void resetRedis() { jedisCluster = RedisManager.getJedis(); // your JedisCluster instance for (JedisPool pool : jedisCluster...转载 2018-07-26 22:37:41 · 8203 阅读 · 1 评论 -
Redis Demo系列之(二)模糊匹配
前言经常需要使用模糊匹配Redis内keys,模糊匹配Redis内的keys可以通过2种方式:keysscan 但是值得注意的是,这两种方式都是不可以于集群环境下直接使用的。集群环境推荐使用{hash_tag},将相同的hash_tag的键放置于一个节点上,便于计算了运行。当然,我们也可以扫描当前的所有主节点进行操作。(详情请看Redis & Redis Cluster 字段...原创 2018-07-26 22:51:01 · 1171 阅读 · 0 评论 -
Redis Demo系列之(三)累加器
前言累加器也是Redis场见的应用之一。值得注意的是Redis内的命令诸如incr等命令皆为原子操作。但是多命令组合而成的操作,为非原子操作。(如abc=incr(hello) get(hello) set(hello,abc)。此类操作需要使用Multi或Lua脚本保证Redis内操作的正确性。Demos/** * 记录Redis累加器。 * * */public...原创 2018-07-26 23:00:40 · 4563 阅读 · 0 评论 -
Redis Demo系列之(四)排行榜
前言通常游戏都会有统计装备评分的排行榜。这通常是使用Redis内的zset数据结构实现的。于此,同时还可以使用zremrangeByRank方法剔除超过比如1000的数据,以此来减少redis内的内存消耗。Demopublic class RankListDemo { public static void main(String[] args) { J...原创 2018-07-26 23:08:04 · 1502 阅读 · 2 评论 -
Redis Demo系列之(五)分布式锁
前言线程之间锁问题多解决主要有数据库锁机制、Redis分布式锁、ZooKeeper分布式锁。其中Redis内单节点的分布式锁可以使用setnx进行处理。集群环境需要使用redisson。Demo/** * Jedis lock. * * */public class RedisLockDemo { public static Jedis jedis = ne...原创 2018-07-26 23:15:11 · 1206 阅读 · 0 评论 -
Redis Client UI工具
前言使用Redis做缓存也有一段时间了,一款趁手的UI工具可以省下很多的开发时间。这里,便总结下我所使用的Redis UI 工具。Redis Client 原生工具Redis Client (github)Redis Desktop Manager (RDM)FastoRedis (支持集群)TreeNMS (国人开发/收费未知)详细介绍Redis Client ...原创 2018-07-18 11:18:08 · 16652 阅读 · 0 评论 -
Redis & Redis Cluster 字段模糊匹配及删除
Questions在数据库内我们可以通过like关键字、%、*或者REGEX关键字进行模糊匹配。而在Redis内我们如何进行模糊匹配呢?集群情况Redis Cluster的情况是否和单机一致呢?前段时间我对于这个议题进行了调查和研究。单节点的情况Jedis 参考stackoverflow上的解答,在Java内使用Jedis主要有如下2中写法:### 方法1Set<...原创 2018-06-20 23:37:29 · 13525 阅读 · 3 评论 -
Redis & Redis Sentinel 基本使用
Redis & Redis-sentinel 基本使用本文主要介绍如下几点内容:Redis基本配置Redis Sentinel基本配置Redis Client客户端基本内容Redis Sentinel客户端基本内容与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdataRe...原创 2018-03-22 23:14:01 · 6522 阅读 · 2 评论 -
Redis 基本命令总结(一)
Redis基本命令总结本文主要包括如下几个部分: * PING命令 * INFO命令 * CONFIG命令 * 5种基本操作类型操作 * 发布&订阅 * 事务与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdataPING & INFO & CONFIGP...原创 2018-03-23 00:09:36 · 1063 阅读 · 0 评论 -
Redis 基本命令总结(二)
Redis基本命令总结(二)本文主要包括如下几个部分: * PING命令 * INFO命令 * CONFIG命令 * 5种基本操作类型操作 * 发布&订阅 * 事务与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdata特别注意的是,在Redis内数据的键不能重复,即使是不同的数据类...原创 2018-03-23 00:27:01 · 340 阅读 · 0 评论 -
Redis基本命令总结(三)
Redis基本命令总结(三)本文主要包括如下几个部分: * PING命令 * INFO命令 * CONFIG命令 * 5种基本操作类型操作 * 发布&订阅 * 事务与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdata发布&订阅# 订阅redis 127.0....原创 2018-03-23 00:32:10 · 352 阅读 · 0 评论 -
Redis Client 之 Jedis
与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdata一、常用数据类型简介:redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。Str...转载 2018-03-23 20:56:54 · 1259 阅读 · 0 评论 -
Redis集群之主从集群模式(哨兵模式Sentinel)
前言Redis集群模式主要有2种: 主从集群 分布式集群。前者主要是为了高可用或是读写分离,后者为了更好的存储数据,负载均衡。 本文主要讲解主从集群。与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdata主从切换原理Redis的主从原理与MySQL相似,都是设置两台机器,一主一...原创 2018-03-23 21:33:28 · 2143 阅读 · 0 评论 -
Redis集群模式之分布式集群模式
前言Redis集群模式主要有2种:主从集群分布式集群。前者主要是为了高可用或是读写分离,后者为了更好的存储数据,负载均衡。 本文主要讲解主从集群。本章主要讲解后一半部分,Redis集群。与本文相关的代码与配置文件都已经上传至github上: 地址: https://github.com/SeanYanxml/bigdata原理Redis为了实现负载均衡,提...原创 2018-03-23 22:01:11 · 10360 阅读 · 0 评论 -
Redis 持久化
前言Redis主要作为一个内存管理器,是否具有持久话策略?答案是肯定的。 Redis的持久化策略主要包括2种:全量策略 bgsave 增量策略 aof全量策略关于持久化策略的文件主要保存在redis.conf文件内,其主要配置信息如下所示:################################ 快照 #######################...原创 2018-03-25 20:16:48 · 813 阅读 · 0 评论 -
Redis 面试题(持续更新)
前言看了一圈,发现Redis的面试题主要问的是如下几块:原理用处(缓存/队列 包括Pub、Sub/计数器/排行榜等)基本操作与数据类型消息队列 且与其它消息队列的区别主从备份宕机如何处理持久化及原理(原生持久化 & 结合Mysql等数据库持久化)是否可以作为数据库?作为数据库有哪些问题?集群化数据超过内存如何处理事务与分布式锁机制缓存失效策略其它...原创 2018-03-25 20:50:31 · 12994 阅读 · 1 评论 -
Redis 乱码解决与思考
Question前端时间,工作的时候。测试数据,有位同事测试老是失败。经过调查定位,发现是Redis内存储的数据格式不对。比较奇怪的是,远程SSH登陆到同一台机器操作,由于客户机的编码不一致,启动的时候会导致乱码的情况。特别是英文操作系统存储中文字符的时候。Solution编码的问题常常会遇到。在Java内主要通过如下的操作进行转码### 方法1Byte[] bytes ...原创 2018-06-20 23:13:50 · 8301 阅读 · 1 评论 -
Redis Demo系列之(六)消息队列 pub/sub
前言redis设计的初衷并不是为了消息队列而设计的,但是有太多的人将Redis作为消息队列而使用。Redis消息队列时,当Redis宕机后,消息会丢失。如果收消息方未有重发和验证机制,Redis内的数据会出现丢失。所以,使用Redis的作为消息队列,通常是对于消息的准确性并非特别高的场景。当需要对数据非常敏感以及准确性较高的情况可以使用Kafka、RabbitMQ等专门等消息队列。但是,通常,...原创 2018-07-26 23:29:50 · 1669 阅读 · 0 评论