redis
文章平均质量分 93
K'illCode
记录自己的学习历程,大部分来自转载,如有侵权联系删除.......
展开
-
redis详解(三)-- 面试题
1. 使用redis有哪些好处?(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)(2) 支持丰富数据类型,支持string,list,set,sorted set,hash(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(4) 丰富的特性:可用于缓存,消息,转载 2018-01-30 13:42:51 · 322 阅读 · 0 评论 -
Redis实现的分布式锁和分布式限流
作者:黄青石https://zhuanlan.zhihu.com/p/56135195 随着现在分布式越来越普遍,分布式锁也十分常用,这篇文章解释了使用zookeeper实现分布式锁,本次咱们说一下如何用Redis实现分布式锁和分布限流。cnblogs.com/huangqingshi/p/9650837.htmlRedis有个事务锁,就是如下的命令,这个命令的含义是将...转载 2019-02-12 13:32:22 · 565 阅读 · 0 评论 -
分布式锁与幂等性问题,如何解决?
随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。为了解决这一系列问题,系统架构也在不断演进。传统的集中式系统已经逐渐无法满足要求,分布式系统被使用在更多的场景中。分布式系统由独立的服务器通过网络松散耦合组成。在这个系统中每个服务器都是一台独立的主机,服务器...原创 2019-12-28 03:12:04 · 515 阅读 · 0 评论 -
阿里云Redis开发规范
、键值设计1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id 1. ugc:video:1 (2)【建议】:简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: user:{uid}:friends:messages:{mid}...原创 2019-02-28 13:16:22 · 165 阅读 · 0 评论 -
Redis常见面试题
一、memcached与redis的区别? 1.存储方式不同。memcached把数据全部存在内存之中,断电之后会挂掉,而redis虽然也用到了内存,但是会有部分数据存在硬盘中,保证数据持久性。 2.数据支持类型不同。memcached对数据支持比较简单,而redis支持数据类型较丰富,如string、list、set、sortedset、hash。 3.底层实现不同。一般调用...转载 2019-04-29 19:41:02 · 123 阅读 · 0 评论 -
阿里云 Redis 开发规范
本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明。 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题。一、键值设计1、key名设计可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id ugc:video:1 简洁性...转载 2019-04-28 14:08:33 · 128 阅读 · 0 评论 -
Redis 如何保持和MySQL数据一致
1.MySQL持久化数据,Redis只读数据redis在启动之后,从数据库加载数据。读请求:不要求强一致性的读请求,走redis,要求强一致性的直接从mysql读取写请求:数据首先都写到数据库,之后更新redis(先写redis再写mysql,如果写入失败事务回滚会造成redis中存在脏数据)2.MySQL和Redis处理不同的数据类型 MySQL处理实时性数据,例如...转载 2019-05-24 13:35:15 · 250 阅读 · 0 评论 -
Redis Cluster数据分片机制
Redis 集群简介Redis Cluster 是 Redis 的分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 分布式方面的需求。Redis Cluster 一般由多个节点组成,节点数量至少为 6 个才能保证组成完整高可用的集群,其中三个为主节点,三个为从节点。三个主节点会分配槽,处理客户端的命令请求,而从节点可用在主节点故障后,顶替主节点。图片来源 redisl...转载 2019-06-07 12:56:03 · 269 阅读 · 0 评论 -
手写一个Jedis以及JedisPool
Redis、Jedis的用途就不介绍了,不了解的可以先去官网:https://www.redis.net.cn/tutorial/3501.html本文章着重讲解如何手动实现一个类似jedis的工具。1. 源码探索经过源码的研究,可以发现Jedis的实现是基于Socket,可以从Jedis的set(key,value)方法开始追溯:publicvoidset(Stri...原创 2019-06-07 13:10:09 · 331 阅读 · 0 评论 -
如何发现 Redis 热点 Key ,解决方案
一、热点问题产生原因热点问题产生的原因大致有以下两种:1.1用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。同理,被大量刊发、浏览的热点新闻、热点评...原创 2019-06-16 18:47:23 · 848 阅读 · 0 评论 -
拼多多面试真题:如何用Redis统计独立用户访问量
作者:沙茶敏碎碎念toutiao.com/i6695734985246114312/众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上6天班是常态,每天工作时间基本都是超过12个小时,也是相当辛苦的。废话不多说,今天我们来聊一聊拼多多的一道后台面试真题,是一道简单的架构类的...转载 2019-06-18 16:32:18 · 368 阅读 · 0 评论 -
Redis数据结构底层实现
面试中,redis也是很受面试官亲睐的一部分。我向在这里讲的是redis的底层数据结构,而不是你理解的五大数据结构。你有没有想过redis底层是怎样的数据结构呢,他们和我们java中的HashMap、List、等使用的数据结构有什么区别呢。1. 字符串处理(string)我们都知道redis是用C语言写,但是C语言处理字符串和数组的成本是很高的,下面我分别说几个例子。没有数据结构支撑的...转载 2019-06-23 17:09:02 · 7398 阅读 · 0 评论 -
Redis RDB 持久化详解
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。antirez 在《Redis 持久化解密》一文中说,一般来说有三种常见的策略来进行持久化操作,防止数据损坏: 方法1 ...转载 2019-07-07 10:16:49 · 177 阅读 · 0 评论 -
Redis AOF 持久化详解
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。RDB的介绍在这篇文章中《Redis RDB 持久化详解》,今天我们来看一下 AOF 相关的原理。AOF( append on...转载 2019-08-19 09:01:55 · 145 阅读 · 0 评论 -
Redis 事件机制详解
Redis 采用事件驱动机制来处理大量的网络IO。它并没有使用 libevent 或者 libev 这样的成熟开源方案,而是自己实现一个非常简洁的事件驱动库 ae_event。Redis中的事件驱动库只关注网络IO,以及定时器。该事件库处理下面两类事件: 文件事件(file event):用于处理 Redis 服务器和客户端之间的网络IO。 时间事件(time eveat)...原创 2019-08-26 08:57:06 · 2597 阅读 · 0 评论 -
优雅地在Redis中使用Lua
一、引言今天讲一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能。lua脚本是用C语言写的,体积很小,运行速度很快,并且每次的执行都是作为一个原子事务来执行的,我们可以在其中做很多的事情。由于篇幅很多,一次无法概述全部,这个系列可能要通过多篇文章的形式来写,好了,今天我们进入正题吧。二、Lua简介Lua 是...转载 2019-02-10 16:22:00 · 462 阅读 · 0 评论 -
Redis 快速入门
谈到Redis,大家应该都不陌生。它是用c语言开发的一个高性能键值数据库,主要用于缓存领域。本章通过: Redis的安装 Redis的五大数据类型 Redis的Java客户端 Redis与Spring 的整合 来让读者对它有一个初步的了解。下一章再通过介绍配置文件来搭建Redis的主从模式和集群模式(配置大于编程,先从简单的编程入手)。效果图:...原创 2019-02-21 18:32:23 · 178 阅读 · 0 评论 -
全面对比 Redis 和 Memcached 的 6 点区别
说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似...原创 2019-01-09 09:41:22 · 161 阅读 · 0 评论 -
shiro 框架详解-1
1.1 简介Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。本教程只介绍基本的Shiro使转载 2017-12-02 12:41:26 · 347 阅读 · 0 评论 -
Redis 基础、高级特性与性能调优
本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后在性能调优等方面进行更深入的介绍和指导。概述Redis 是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库、缓存服务或消息服务使用。Redis 支持多种数据结构,包括字符串、哈希表、链表、集合、有序集合、位图、Hyperlo转载 2018-01-25 11:14:01 · 1842 阅读 · 0 评论 -
redis详解(一)-- 概述
首先,分布式缓存框架 可以 看成是nosql的一种(1)什么是redis?redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作转载 2018-01-30 13:46:35 · 496 阅读 · 0 评论 -
redis详解(二)-- 数据类型详解
1.String(字符串)string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M 2.Hash(哈希)Redis hash 是一个键值对集合。Redis hash是一个string类型的field和v转载 2018-01-30 13:52:09 · 228 阅读 · 0 评论 -
redis详解(四)-- 高可用分布式集群
一,高可用高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。(1)解决单点问题主要有2种方式:主备方式这种通常是一台主机、一台或多台备机,在正常情况下主机对外提供服务,并把数据同步到备机,当主机宕机转载 2018-01-30 13:53:09 · 240 阅读 · 0 评论 -
Redis面试二
(1)什么是redis?Redis 是一个基于内存的高性能key-value数据库。 (有空再补充,有理解错误或不足欢迎指正)(2)Reids的特点Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以转载 2018-01-30 13:58:09 · 248 阅读 · 0 评论 -
redis3.0配置文件详解
redis.conf#redis.conf# Redis configuration file example.# ./redis-server /path/to/redis.conf################################## INCLUDES ####################################这在你有标准配置模板但是每个redis原创 2018-01-23 18:53:55 · 249 阅读 · 0 评论 -
安装Redis
Redis是一个高性能的,开源key-value型数据库。是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储。因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用Redis。顺便整理下Redis的安装过程,以便查阅。1 . 下载Redis 目前,最新的Redist版本为3.0,使用wget下载,命令如下:# wget http://downl原创 2018-01-23 14:31:04 · 413 阅读 · 0 评论 -
深入了解一下Redis的内存模型!
一、前言Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解Redis的5种对象类型的用法和特点的基础上,进一步了解Redis的内存模型,对Redis的使用有很大...转载 2018-05-13 17:05:29 · 515 阅读 · 0 评论 -
Redis持久化
本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案;在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时介绍持久化实现的一些原理细节及需要注意的问题。最后,介绍在实际使用中,持久化方案的选择,以及经常遇到的问题等。目录一、Redis高可用概述二、Redis持久化概述三、RDB持久化 1. 触发条件...转载 2018-06-17 10:01:21 · 207 阅读 · 0 评论 -
分布式之redis
要点?本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题正文1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考...转载 2018-07-02 20:23:02 · 148 阅读 · 0 评论 -
Redis集群搭建
Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。 Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有...原创 2018-08-23 10:53:34 · 288 阅读 · 0 评论 -
redis,学会这8点
一、redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。二、支持的语言三、redis的应用场景有哪些1、会话缓存(最常用)2、消息队列,比如支付3、活动排行榜或计数4、发布、订阅消息(消息通...原创 2018-12-15 09:37:07 · 258 阅读 · 0 评论 -
高可用Redis服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较大的互联网公司,一般都会有专门的团队,将Redis存储以基础服务的形式提供给各个业务调用。不...原创 2019-01-08 11:14:56 · 149 阅读 · 0 评论 -
Redis实用监控工具一览
Redis已经成为web应用开发不可或缺的一个组成部分,在项目中的应用越来越广泛,这篇文章就来讲讲那些关于Redis监控的那点事。redis-benchmark1.1 简介第一个就介绍一下,Redis自带的性能检测工具redis-benchmark, 该工具可以模拟 N 个客户端同时发出 Y 个请求。可以使用 redis-benchmark -h 来查看基准参数。1.2 命令格式:...转载 2019-08-26 08:56:10 · 828 阅读 · 0 评论