redis
蜀山客e
这个作者很懒,什么都没留下…
展开
-
基于Redis组件的特性,实现一个分布式限流
场景 为了防止我们的接口被人恶意访问,比如有人通过JMeter工具频繁访问我们的接口,导致接口响应变慢甚至崩溃,所以我们需要对一些特定的接口进行IP限流,即一定时间内同一IP访问的次数是有限的。实现原理 用Redis作为限流组件的核心的原理,将用户的IP地址当Key,一段时间内访问次数为value,同时设置该Key过期时间。比如某接口设置相同IP10秒内请求5次,超过5次不让访问该接口。第一次该IP地址存入redis的时候,key值为IP地址,value值为1,设置key值过期时间为10秒。第二次原创 2020-12-05 14:12:19 · 371 阅读 · 0 评论 -
Redis集群——Redis Cluster
一、Redis Cluster简单概述Redis Cluster特点多主多从,去中心化:从节点作为备用,复制主节点,不做读写操作,不提供服务不支持处理多个key:因为数据分散在多个节点,在数据量大高并发的情况下会影响性能;支持动态扩容节点:这是我认为算是Rerdis Cluster最大的优点之一;节点之间相互通信,相互选举,不再依赖sentinel:准确来说是主节点之间相互“监督”,保证及时故障转移Redis Cluster与其它集群模式的区别相比较sentinel模式,多个maste原创 2020-11-23 14:24:49 · 782 阅读 · 0 评论 -
Redis测试实践
最近测试服务端的时候,接触到了redis,之前也看过,但不系统,借着这次实践,记录一下。一、写在前面Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。使用场景和优势简单概述:1.redis是目前业界非常受到欢迎的一原创 2020-11-19 14:34:49 · 770 阅读 · 1 评论 -
对于Redis,你知道可以做哪些事?
Redis是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)五种基本数据结构构成,除此之外还支持一些其他的数据结构和算法。key都是由字符串构成的,那么这五种数据结构的使用场景有哪些?一起来看看!一 、字符串字符串类型是Redis最基础的数据结构,字符串类型可以是JSON、XML甚至是二进制的图片等数据,但是最大值不能超过512MB。1.1 内部编码Redis会根据当前值的类型和长度决定使用哪种内部编码来实原创 2020-11-16 14:39:53 · 128 阅读 · 0 评论 -
Redis——缓存穿透、缓存雪崩和缓存击穿是什么?
对于缓存穿透、缓存雪崩和缓存击穿常常出现在面试中,今天来看看它到底是啥吧?redis缓存穿透理解重在穿透吧,也就是访问透过redis直接经过mysql,通常是一个不存在的key,在数据库查询为null。每次请求落在数据库、并且高并发。数据库扛不住会挂掉。解决方案可以将查到的null设成该key的缓存对象。当然,也可以根据明显错误的key在逻辑层就就行验证。同时,你也可以分析用户行为,是否为故意请求或者爬虫、攻击者。针对用户访问做限制。其他等等,比如用布隆过滤器(超大型hashmap)先过滤原创 2020-11-16 13:35:53 · 164 阅读 · 0 评论 -
Redis中的事务
Redis 事务简介稍微了解 Redis 的朋友都知道,Redis 也提供了事务功能。但是 Redis 的事务和我们平时熟悉的关系型数据库中的事务是有区别的。Redis 事务的本质是一组命令的集合:一个事务中所有命令都会被序列化到一个队列中,在事务执行过程,会按照顺序串行执行队列中的命令,这些命令要么全部得到执行,要么全部不执行。另外,其他客户端提交的命令请求不会插入到事务执行命令序列中。Redis 事务的使用Redis 事务的基础是MULTI 、EXEC、DISCARD和WATCH等命令。这些原创 2020-11-13 19:24:56 · 132 阅读 · 0 评论 -
事件机制-redis
Redis程序的运行过程是一个处理事件的过程,也称Redis是一个事件驱动的服务。Redis中的事件分两类:文件事件(File Event)、时间事件(Time Event)。文件事件处理文件的读写操作,特别是与客户端通信的Socket文件描述符的读写操作;时间事件主要用于处理一些定时处理的任务。本文首先介绍Redis的运行过程,阐明Redis程序是一个事件驱动的程序;接着介绍事件机制实现中涉及的数据结构以及事件的注册;最后介绍了处理客户端中涉及到的套接字文件读写事件。一、Redis的运行过程Redi原创 2020-11-13 15:27:49 · 168 阅读 · 0 评论 -
Redis——副本机制
为实现Redis服务的高可用,Redis官方为我们提供了副本机制(或称主从复制)和哨兵机制。副本机制使得当Master服务器宕机后,我们可以将其中一台Slave切换为新的Master服务器。哨兵机制则实现了自动发现Master服务器宕机,并自动进行主从切换。本文主要介绍副本机制(Replication),包括副本机制的概念、用法及其底层实现。下一篇文章我们再介绍哨兵机制。从技术实现角度来看,Redis通过主从复制的方式来实现副本机制,所以下面介绍技术实现时,我们采用“主从复制”这个词。概念高可用的作用原创 2020-11-13 15:14:06 · 1152 阅读 · 0 评论 -
Redis集群环境搭建实践
Redis集群简介Redis集群(Redis Cluster)是Redis提供的分布式数据库方案,通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。相比于主从复制、哨兵模式,Redis集群实现了较为完善的高可用方案,解决了存储能力受到单机限制,写操作无法负载均衡的问题。本文是Redis集群学习的实践总结,详细介绍逐步搭建Redis集群环境的过程,并完成集群伸缩的实践。Redis集群环境搭建方便起见,这里集群环境的所有节点全部位于同一个服务器上,共6个节点以端口号区分,3个主节点+原创 2020-11-12 16:42:02 · 248 阅读 · 0 评论