其他数据库 Redis中的bitmap详解 1、什么是bitmap? bitmap也叫位图,也就是用一个bit位来表示一个东西的状态,我们都知道bit位是二进制,所以只有两种状态,0和1。 2、为什么要有bitmap? bitmap的出现就是为了大数据量而来的,但是前提是统计的这个大数据量每个的状态...
其他数据库 使用Redis有序集合实现IP归属地查询详解 工作中经常遇到一类需求,根据 IP 地址段来查找 IP 对应的归属地信息。如果把查询过程放到关系型数据库中,会带来很大的 IO 消耗,速度也不能满足,显然是不合适的。 那有哪些更好的办法呢?为此做了一些尝试,下面来详细说明。 构建索引文件 在 GitHub...
其他数据库 基于redis分布式锁实现秒杀功能 最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多...
其他数据库 redis protocol通信协议及使用详解 简介 redis是一个非常优秀的软件,它可以用作内存数据库或者缓存。因为他的优秀性能,redis被应用在很多场合中。 redis是一个客户端和服务器端的模式,客户端和服务器端是通过TCP协议进行连接的,客户端将请求数据发送到服务器端,服务器端将请求返回给客...
其他数据库 详解Redis基本命令与使用场景 Redis和Memcached对比 其中有一个比较重要的区别是关于其提供的数据结构区别 Memcached 在其数据结构中仅使用字符串和整数。因此,您保存的所有内容都可以是字符串或整数。它很复杂,因为对于整数,您可以做的唯一数据操作是添加或减去它们。如果需...
其他数据库 一篇文章带你彻底搞懂Redis 事务 Redis 事务简介 Redis 只是提供了简单的事务功能。其本质是一组命令的集合,事务支持一次执行多个命令,在事务执行过程中,会顺序执行队列中的命令,其他客户端提交的命令请求不会插入到本事务执行命令序列中。命令的执行过程是顺序执行的,但不能保证原子性。无...
其他数据库 基于Redis6.2.6版本部署Redis Cluster集群的问题 1.Redis6.2.6简介以及环境规划 在Redis6.x版本中主要增加了多线程的新特性,多线性对于高并发场景是非常有必要的。 Redis6.x新特性如下: 多线程IO 重新设计了客户端缓存功能 RESP3协议 支持SSL ACL权限控制 提升了RDB日...
其他数据库 关于Redis网络模型的源码详析 前言 Redis的网络模型是基于I/O多路复用程序来实现的。源码中包含四种多路复用函数库epoll、select、evport、kqueue。在程序编译时会根据系统自动选择这四种库其中之一。下面以epoll为例,来分析Redis的I/O模块的源码。 epo...
其他数据库 Redis未授权访问配合SSH key文件利用详解 前言 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis 未授权访问的问题是一直存在的问题,知道创宇安全研究团队历史上也做过相关的应急,今日,又出现 Red...
其他数据库 Redis快速表、压缩表和双向链表(重点介绍quicklist) 前言 最近在看《Redis的设计与实现》这本书,写的真的是太好了,一下子就看入迷了,谢谢作者。不过在学习的时候发现一个问题,我服务器上安装的是Redis5.0.9版本的,而作者介绍的是Redis3.0版本的,在第一部分将数据结构与对象章节的时候,出现了一些...
其他数据库 Redis分布式锁详细介绍 分布式锁 在单进程应用中,当一段代码同一时间内只能由一个线程执行时, 多线程下可能会出错,例如两个线程同时对一个数字做累加,两个线程同时拿到了该数字,例如40,一个线程加了10,一个线程加了20,正确结果应该是70, 但由于两个线程在自己的内存中一个算出的...
其他数据库 在Redis中如何保存时间序列数据详解 前言 我们现在做互联网产品的时候,都有这么一个需求:记录用户在网站或者App上的点击行为数据,来分析用户行为。这里的数据一般包括用户ID、行为类型(例如浏览、登录、下单等)、行为发生的时间戳: UserID, Type, TimeStamp 我之前做过的一...