![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
LzwGlory
坚持自己的路
展开
-
Mongodb与Redis应用指标对比
MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。 指标 MongoDB(v2.4.9) Redis(v2.4.17) 比较说明转载 2015-07-14 18:04:00 · 631 阅读 · 0 评论 -
利用redis + lua解决抢红包高并发的问题
抢红包的需求分析抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人工修复下数据是很简单的事。而像淘宝这么多商品,要是每一个都存在着修复数据的风险,那如果出故障了转载 2016-11-29 18:31:02 · 618 阅读 · 0 评论 -
Redis 3.2.1集群搭建
一、概述 Redis3.0版本之后支持Cluster.1.1、redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于配置(nod转载 2016-11-23 18:37:59 · 623 阅读 · 0 评论 -
Redis Cluster
公司以一种错误的姿势使用了redis的功能,而且业务框架已经变得很大,虽然大家也都认为不合理,但是暂时看不到重构希望,可苦逼了后端人员,索性看看redis cluster能不能解决我的顾虑,redis 3出来也一段时间了,网上的文章也很多了,生产上大规模使用的公司不多,而且因为要对cluster的支持,导致很多原有lib库都无法使用了,不过这并不妨碍我们追索知识的步伐....Redis很早的时转载 2016-11-24 16:12:53 · 433 阅读 · 0 评论 -
Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in databas
>>> Sending CLUSTER MEET messages to join the clusterWaiting for the cluster to join.......................................在这里的时候卡了很久没过去,我就结束了想重新再试下Connecting to node 192.168.7.232:7000: O转载 2016-11-24 17:59:57 · 5169 阅读 · 1 评论 -
深入分析redis cluster 集群安装配置详解
下面小编来为各位介绍一篇深入分析redis cluster 集群安装配置详解,如果你希望做数据库集群就可以来看看此文章的哦。Redis 集群是一个提供在多个Redis间节点间共享数据的程序集.redis3.0以前,只支持主从同步的,如果主的挂了,写入就成问题了。3.0出来后就可以很好帮我们解决这个问题。目前redis 3.0还不稳定,如果要用在生产环境中,要慎重。一,redis转载 2016-11-24 18:02:19 · 535 阅读 · 0 评论 -
redis3.0 集群实战3 - java编程实战
本文主要描述使用jedis进行redis-cluster操作 jedisjedis是redis官方推荐使用的java redis客户端,github地址为,https://github.com/xetorthio/jedis,本文使用jedis进行redis集群的操作。 jedis从2.3.0版本后开始支持redis cluster,不过看官方的released文档(h转载 2016-11-24 18:30:59 · 431 阅读 · 0 评论 -
使用控制台对Redis执行增删改查命令
在上一篇里,我们已经安装了redis。这一篇我们将一起来学习如何使用“控制台”管理Redis首先肯定是打开一个控制台,在windows系统打开控制台的方式很多,我喜欢通过使用快捷方式“win+R”打开“运行”,输入“cmd”来打开控制台。在控制台输入命令redis-cli这将打开一个Redis提示127.0.0.1:6379>表示已经链接上ip:127.0.转载 2017-04-11 16:41:36 · 1054 阅读 · 0 评论 -
Redis的三种启动方式
Part I. 直接启动下载官网下载 安装 Shell代码 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make install`,将可执行文件拷贝到/usr/local/bin目录下。这样就可以转载 2017-04-20 15:36:05 · 3787 阅读 · 0 评论 -
redis如何清除所有的key
redis比memcache好的地方之一,如果memcache,恐怕就得关掉重启了。1 使用cliFLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据。2 使用shell redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then转载 2017-05-22 13:07:14 · 1166 阅读 · 0 评论 -
redis命中率计算
Redis提供了INFO这个命令,能够随时监控服务器的状态,只用telnet到对应服务器的端口,执行命令即可:[html] view plain copytelnet localhost 6379 info 在输出的信息里面有这几项和缓存的状态比较有关系:[html] view plain转载 2017-08-01 18:12:34 · 2052 阅读 · 0 评论 -
如何用Redis做LRU-Cache
LRU(Least Recently Used)最近最少使用算法是众多置换算法中的一种。 Redis中有一个maxmemory概念,主要是为了将使用的内存限定在一个固定的大小。redis用到的LRU 算法,是一种近似的LRU算法。1 设置maxmemory上面已经说过maxmemory是为了限定Redis最大内存使用量。有多种方法设定它的大小。其中一种方法是通过CONF转载 2017-08-01 18:13:46 · 321 阅读 · 0 评论 -
redis-JedisPoolConfig配置
JedisPoolConfig config = new JedisPoolConfig(); //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认trueconfig.setBlockWhenExhausted(true); //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最转载 2017-09-01 10:31:06 · 584 阅读 · 0 评论 -
redis原子性读写操作之LUA脚本和watch机制
最近在开发电商平台的子系统——储值卡系统,系统核心业务涉及到金额消费以及库存控制,因此为了解决建立在内存上高并发情况下的事务控制,使用了spring封装的RedisTemplate执行lua脚本进行原子性操作,确保金额消费,库存按顺序处理,解决资源争抢。 1.使用lua脚本 Redis 使用单个 Lua 解释器去运行所有脚本,并且, Redis 也保证脚本会以原子性(atomic)的方式执...转载 2018-03-24 22:24:07 · 2588 阅读 · 0 评论 -
Redis过期策略 实现原理
我们在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。1.redis设置过期时间: expire key time(以秒为单位)--这是最常用的方式 setex(String key, int seconds, String value)--字符串独有的方式注: ...转载 2018-05-15 16:13:32 · 999 阅读 · 0 评论 -
Redis主从之从Redis服务器Key不失效
大家在使用redis的时候,经常会用expire来设置key的过期时间,以为某个key到期就会马上清除。如果只是在单个redis(即一个主redis)下是没有问题的。但是如果为了实现读写分离,搭建了主从服务器,那么就会遇上从库Key不失效的问题了。(使用Redis3.2以后版本的同学请忽略,3.2之后的版本已不存在以下问题)场景重现:[java] view plain copy主: setex n...转载 2018-06-11 15:52:57 · 798 阅读 · 1 评论 -
【总结】瞬时高并发(秒杀/活动)Redis方案
1,Redis丰富的数据结构(Data Structures)字符串(String)Redis字符串能包含任意类型的数据一个字符串类型的值最多能存储512M字节的内容利用INCR命令簇(INCR, DECR, INCRBY)来把字符串当作原子计数器使用使用APPEND命令在字符串后添加内容列表(List)Redis列表是简单的字符串列表,按照插入顺序排序你可转载 2016-10-16 18:37:16 · 883 阅读 · 0 评论 -
Redis实现分布式锁全局锁—Redis客户端Redisson中分布式锁RLock实现
1. 前因 以前实现过一个Redis实现的全局锁, 虽然能用, 但是感觉很不完善, 不可重入, 参数太多等等. 最近看到了一个新的Redis客户端Redisson, 看了下源码, 发现了一个比较好的锁实现RLock, 于是记录下.2. Maven依赖dependency> groupId>org.redissongroupId> arti转载 2016-11-03 10:31:10 · 6828 阅读 · 0 评论 -
redis持久化RDB和AOF
Redis 持久化:提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF.RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis转载 2016-07-01 18:14:48 · 523 阅读 · 0 评论 -
Windows下Redis的安装使用
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。转载 2015-07-15 14:46:45 · 462 阅读 · 0 评论 -
利用JAVA操作Redis
import org.junit.After;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import java转载 2015-07-15 14:48:03 · 641 阅读 · 0 评论 -
java对redis的基本操作
一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装 1)解转载 2015-07-15 15:24:11 · 526 阅读 · 0 评论 -
Windows下安装并设置Redis
作者: 铁锚日期: 2014年8月10日Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定。详情请参考:http://redis.io/download 但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示:[plain] vie转载 2015-07-16 18:18:52 · 628 阅读 · 0 评论 -
java之redis篇(spring-data-redis整合)
redis的知识:官网1,利用spring-data-redis整合项目使用的pom.xml:project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma转载 2015-07-16 18:09:27 · 2556 阅读 · 0 评论 -
征服 Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)
有日子没写博客了,真的是忙得要疯掉。 完成项目基础架构搭建工作,解决了核心技术问题,接着需要快速的调研下基于Spring框架下的Redis操作。 相关链接:征服 Redis征服 Redis + Jedis征服 Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)征服 Redis + Jedis + Spr转载 2015-07-16 18:07:58 · 796 阅读 · 0 评论 -
redis密码管理
一. 如何初始化redis的密码?总共2个步骤:a.在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数。比如 requirepass test123b.配置文件中参数生效需要重启重启redis 。 二.不重启redis如何配置密码?a. 在配置文件中配置requirepass的密码(当redis重启时密码依转载 2015-07-17 11:48:04 · 470 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
Spring-data-redis:特性与实例 Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。jedis客户端在编程实施方面存在如下不足:1) connecti转载 2015-07-17 16:58:19 · 571 阅读 · 0 评论 -
Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解
一、概念简介:Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis,走了不少弯路,所以总结一条我认为不错的学习路径给大家: 1.《The Little Redis Book》是一本开源PDF,只有29页的英文文档,看完后对Redis的转载 2015-07-17 17:38:53 · 2045 阅读 · 0 评论 -
Spring-data-redis:特性与实例
Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。 jedis客户端在编程实施方面存在如下不足: 1) connection管理缺乏自动化,转载 2015-07-17 17:03:40 · 580 阅读 · 0 评论 -
几点建议,让Redis在你的系统中发挥更大作用
Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程。另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不需要转到Redis。转向Redis当然也是可取的,许多开发者从一开始就把Redis作为首选数据库;但设想如果你的开发环境已经搭建好,应用已经在上面运行了,那么更换数据库框架显然不那么容易。另外转载 2015-07-21 18:37:51 · 583 阅读 · 0 评论 -
Redis能干啥?细看11种Web应用场景
在“怎样让Redis在你的系统中发挥作用”一文中,Salvatore 'antirez’ Sanfilippo告诉我们如何利用Redis独有的数据结构处理能力来解决一些常见问题。一些Redis原语命令比如LPUSH、LTRIM和LREM等等能够用来帮助开发者完成需要的任务——这些任务在传统的数据库存储中非常困难或缓慢。这是一篇非常有用并且实际的文章。那么要如何在你的框架中完成这些任务呢?下转载 2015-07-21 18:38:28 · 604 阅读 · 0 评论 -
关于 redis、memcache、mongoDB 的对比
from:http://yang.u85.us/memcache_redis_mongodb.pdf从以下几个维度,对 redis、memcache、mongoDB 做了对比。1、性能都比较高,性能对我们来说应该都不是瓶颈。总体来讲,TPS 方面 redis 和 memcache 差不多,要大于 mongodb。2、操作的便利性memcache 数据结构单一。(key-转载 2015-07-22 18:50:36 · 592 阅读 · 0 评论 -
相比Redis,Memcached真的过时了吗?
You should not care too much about performances. Redis is faster per core with small values, but memcached is able to use multiple cores with a single executable and TCP port without help from the cli转载 2015-07-14 18:31:09 · 642 阅读 · 0 评论 -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
一、问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求。二、解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 (这里仅从数据缓存方面考虑,当然,后期可以采用Hadoop+HBase+Hive等分布式存储分析平台)三、主流解Cache转载 2015-07-14 17:48:44 · 813 阅读 · 0 评论 -
Redis中5种数据结构的使用场景介绍
一、redis 数据结构使用场景原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢?String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合下转载 2016-02-22 16:33:35 · 541 阅读 · 0 评论 -
Redis 订阅发布 - Jedis实现
Redis 订阅发布 - Jedis实现我想到使用Redis的订阅发布模式是用来解决推送问题的~。对于概念性的叙述,多多少少还是要提一下的: 什么是Redis发布订阅?Redis发布订阅是一种消息通信模式,发送者通过通道A发送消息message,订阅过通道A的客户端就可以接收到消息message。嗯度娘上面的解释要比我所说的好多了,而我所理解的就是:所谓的订阅发布模式,其实和我们看电视,听广播差...转载 2018-05-30 16:36:53 · 1887 阅读 · 0 评论