51dev.com IT技术开发者社区

51dev.com 技术开发者社区

Redis和MemCache静态Map做缓存区别

Redis和MemCache静态Map做缓存区别

  本地缓存:使用自带的map或者guava实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着jvm的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。  分布式缓存:使用redis或memcached之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓...

Redis缓存策略设计及常见问题

Redis缓存策略设计及常见问题

  缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常应用的开发至关重要。下面会介绍缓存使用技巧和设计方案,包含如下内容:缓存的收益和成本分析、缓存更新策略的选择和使用场景、缓存粒度控制法、穿透问题优化、无底洞问题优化、雪崩问题优化、热点key重建优化。缓存的收益和成本分析  下图左侧...

Mac下安装Redis及Redis Desktop Manager

Mac下安装Redis及Redis Desktop Manager

  Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sortedsets)与范围查询,bitmaps,hyperloglog...

Redis学习之Redis集群模式缺陷及其处理

Redis学习之Redis集群模式缺陷及其处理

  在我们已经有了Jedis客户端、集群模式支持后,Redis基本使用已经没有大的问题了。关于Jedis以及集群模式请参考博文:Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)Redis学习之API学习及Jedis源码原理分析Redis学习之Jedis源码原理分析探究(BIO手写Je...

Redis学习之API学习及Jedis源码原理分析

Redis学习之API学习及Jedis源码原理分析

  Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 我们在进行Java项目开发的时候,如果要使用Redis数据库,那么常常是通过Redis的Java客户端来简化Redis的使用,例如R...

Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)

Redis学习之4种模式实践及机制解析(单机、主从、哨兵、集群)

  Redis在日常部署的时候,可以有多种部署模式:单机、主从、哨兵、集群(分区分片),因此本例将对上面这四种模式进行详细的讲解,特别是集群模式将进行最细致的讲解(现行普遍使用的方式)。  单机部署很简单,直接下载Redis进行安装即可,此处不作详细讲解,具体Redis的安装请参考:Mac下安装Re...

Redis学习之Redis概述及原理、基本操作及持久化

Redis学习之Redis概述及原理、基本操作及持久化

  Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。  它通常被称为数据结构服务器,因为值(value)可以是字符串(String),哈希(Map),列表(list),集合(sets)和有序集合(...

Redis学习之Jedis源码原理分析探究(BIO手写Jedis客户端)

Redis学习之Jedis源码原理分析探究(BIO手写Jedis客户端)

  在Redis的使用过程中,大多数人都是使用现成的客户端,如Jedis,Redisson,Lettuce。因此本文研究用BIO的方式手写Redis客户端尝试,对遇到的问题进行探究及总结。  如何从架构角度思考架构分层?  Redis通讯协议RESP是怎么回事?  如何基于BIO实现Redis客户端...

Redis学习之Redis数据结构详解(RedisObject、SDS)

Redis学习之Redis数据结构详解(RedisObject、SDS)

  redis是一个key-value储存系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)  redis字符串:在redis-Client中执行以下命令:...

Redis二进制安全概念

Redis二进制安全概念

  二进制安全是指,在传输数据时,保证二进制数据的信息安全,也就是不被篡改、破译等,如果被攻击,能够及时检测出来。  二进制安全包含了密码学的一些东西,比如加解密、签名等。  举个例子,你把数据11110000加密成10001000,然后传给我,就是一种二进制安全的做法。redis中的二进制安全  ...

Redis学习之5种数据类型操作、实现原理及应用场景

Redis学习之5种数据类型操作、实现原理及应用场景

  Redis可以存储可以存储键与5种不同数据结构类型之间的映射。五种数据类型为:STRING(字符串)、LIST(列表)、SET(集合)、HASH(散列)、ZSET(有序集合)。  1、类型定义  String数据结构是简单的key-value类型,使用string时,redis(大多数情况下)并...

redis对比其余数据库

redis对比其余数据库

  Redis属于常见的NoSQL数据库或者说非关系数据库:Redis不使用表,她的数据库也不会预定义或者强制去要求用户对Redis存储的不同数据进行关联。常见数据库对比:          和高性能键值缓存服务器memcached对比:  Redis和mencached都可用于存储键值映射,彼此性...

Redis客户端清除缓存

Redis客户端清除缓存

第一、下载Redis客户端管理工具地址:链接:https://pan.baidu.com/s/1nkxdFBdk2cIJupZ4irrvjg第二安装后打开如下  第三、在2处输入 flushdb  或者  flushall1、fl...

常用的分布式锁和redis和zk两种分布式锁的对比

常用的分布式锁和redis和zk两种分布式锁的对比

1.悲观锁利用select…where…forupdate排他锁注意:其他附加功能与实现一基本一致,这里需要注意的是“wherename=lock”,name字段必须要走索引,否则会锁表。有些情况下,比如表不大,mysql优化器会不走这个索引,导致锁表问题。2.乐观锁所谓乐观锁与前边最大区别在于基于...

Redis的Sorted-Sets排行榜功能实现

Redis的Sorted-Sets排行榜功能实现

  类似给用户n张图片,用户左滑不喜欢右滑喜欢。所以每个用户就会有一些喜欢的图片集合和不喜欢的图片集合。现在我们要做一个将按照一个算法将喜欢的排到前面。算法ctr=(喜欢数+20)/(喜欢数+不喜欢数+20),所有的内容按照这个算法的结果进行排行榜排序。   Sorted-Sets和Set...