Redis
文章平均质量分 63
heqianqiann
每一个不曾起舞的日子都是对生命的辜负
展开
-
Redis 启动异常Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
解决方法: 在命令行中运行redis-cli.exe127.0.0.1:6379>shutdownnot connected>exit然后重新运行redis-server.exe redis.windows.conf启动成功!原创 2017-05-06 19:22:10 · 1856 阅读 · 0 评论 -
Redis 点赞功能的应用
开发者头条是一个资源丰富的程序猿学习网站。当网站发布新的内容的时候,内容优秀的总是会被点赞。今天就利用Redis实现这个小小的功能。为什么使用Redis而不是MySQL实现?Redis 和 MySQL应用场景不同。从效率来说: Redis的数据存放在内存,所以速度快但是会受到内存空间限制。 MySQL存放在硬盘,在速度上肯定没有Redis快,但是存放的数据量要多的多。从功能来说: Redi转载 2017-11-07 19:06:30 · 1633 阅读 · 0 评论 -
Redis Jedis 之 Sharded 源码分析
概述Jedis是Redis官方推荐的Java客户端,当业务的数据量非常庞大时,需要考虑将数据存储到多个缓存节点上,如何定位数据应该存储的节点,一般用的是一致性哈希算法。Jedis在客户端角度实现了一致性哈希算法,对数据进行分片,存储到对应的不同的redis实例中。Jedis对Sharded的实现主要是在ShardedJedis.java和ShardedJedisPool.java中,ShardedJ原创 2017-10-04 17:13:21 · 1854 阅读 · 0 评论 -
Redis 数据淘汰机制
概述在 Redis 中,允许用户设置最大使用内存大小 server.maxmemory,在内存限定的情况下是很有用的。譬如,在一台 8G 机子上部署了 4 个 Redis 服务点,每一个服务点分配 1G 的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。Redis 提供 6 种数据淘汰策略:volatile-lru:从已设原创 2017-10-04 22:28:08 · 2043 阅读 · 0 评论 -
Redis Jedis 之 JedisSentinelPool 源码分析
概述Jedis是Redis官网推荐的Java客户端,Redis-Sentinel作为官方推荐的HA解决方案,Jedis也在客户端角度实现了对Sentinel的支持,主要实现在JedisSentinelPool.java这个类中,Jedis的JedisSentinelPool的实现仅仅适用于单个master-slave。属性JedisSentinelPool类有以下属性 //基于apache的comm原创 2017-10-04 16:35:28 · 2652 阅读 · 0 评论 -
Redis Sentinel 机制和用法
概述Redis-Sentinel是Redis官网推荐的高可用性(HA)解决方案,当用Redis做Master-Slave的高可用方案时,假如Master宕机了,Redis本身(包括客户端)都没有实现自动进行主备切换,而Redis-Sentinel本身也是一个独立运行的进程,可用监控多个Master-Slave集群,发现Master宕机后可以进行自动切换它的主要功能有以下几点不时的监控Redis是否转载 2017-10-04 16:13:00 · 2215 阅读 · 0 评论 -
Redis 应用场景和应用实例详解
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。1.MySQL+Memcached架构的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断转载 2017-10-04 11:04:31 · 2470 阅读 · 0 评论 -
Redis 探究底层存储结构
我们都知道Redis有五种数据类型,分别是字符串String,列表List,集合Sort,有序集合Sorted Set和散列表Hash,这些其实是Redis封装好的数据类型,Redis底层是用C语言编写的(大法好),所以用这边博客记录下这五种数据结构的底层是如何实现的。字符串类型C语言中字符串都是采用字符数组char[]来实现的,在Redis中是将字符数组封装成一个SDS结构体[Simple Dyn原创 2017-09-29 17:37:51 · 2766 阅读 · 0 评论 -
Redis 持久化RDB和AOF原理
Redis持久化是如何工作的?持久化就是把数据放到断电后数据不会丢失的设备中,也就是我们通常理解的磁盘上。数据库在进行写操作时,有以下五个过程:1) 客户端往服务器发送写操作(数据在客户端的内存中)2) 数据库服务端接受到写请求的数据(数据在服务端的内存中)3) 服务端调用write这个系统调用,把数据往磁盘写(数据在系统内存的缓存区中)4) 操作系统把缓冲区中的数据转移到磁盘控制器上(数据原创 2017-09-28 15:21:26 · 2078 阅读 · 0 评论 -
Redis Spring操作Redis时,发现key值出现 \xac\xed\x00\x05t\x00\tb
因为spring操作redis是在jedis客户端基础上进行的,而jedis客户端与redis交互的时候协议中定义是用byte类型交互,jedis中提供了string类型转为byte[]类型,但是看到spring-data-redis中RedisTemplate <bean id="redisTemplate" class="org.springframework.data.redis.core.R原创 2017-05-10 11:09:24 · 1318 阅读 · 0 评论 -
Redis 使用总结
记性太差 还是Mark一下 ( ̄へ ̄)1. Redis配置CONFIG 命令查看或设置配置项: CONFIG GET CONFIG_SETTING_NAME使用 CONFIG set 命令来修改配置: CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE2.Redis 数据类型Redis支持五种数据类型:string(字符串),hash(原创 2017-05-10 10:31:15 · 464 阅读 · 0 评论 -
Spring 整合Redis以及Spring的RedisTemplate如何使用
1.添加jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.data</原创 2017-05-09 22:31:33 · 1827 阅读 · 0 评论 -
Redis 如何保持和MySQL数据一致
1. MySQL持久化数据,Redis只读数据redis在启动之后,从数据库加载数据。读请求:不要求强一致性的读请求,走redis,要求强一致性的直接从mysql读取写请求:数据首先都写到数据库,之后更新redis(先写redis再写mysql,如果写入失败事务回滚会造成redis中存在脏数据)2.MySQL和Redis处理不同的数据类型MySQL处理实时性数据,例如金融数据、交易数据Redis处理原创 2017-12-26 11:37:57 · 40263 阅读 · 10 评论