NoSQL

Redis 中的布隆过滤器的实现

什么是『布隆过滤器』 布隆过滤器是一个神奇的数据结构,可以用来判断一个元素是否在一个集合中。很常用的一个功能是用来去重。在爬虫中常见的一个需求:目标网站 URL 千千万,怎么判断某个 URL 爬虫是否宠幸过?简单点可以爬虫每采集过一个 URL,就把这个 U...

同一份数据Redis为什么要存两次

前言 在 Redis 中,有一种数据类型,当在存储的时候会同时采用两种数据结构来进行分别存储,那么 Redis 为什么要这么做呢?这么做会造成同一份数据占用两倍空间吗? 五种基本类型之集合对象 Redis 中的集合对象是一个包含字符串类型元素的无序集合,集...

Redis 哨兵高模式搭建及Java代码配置

Redis 的下载和安装及遇到问题的解决  准备配置文件 # 配置文件进行了精简,完整配置可自行和官方提供的完整conf文件进行对照。端口号自行对应修改 # 后台启动的意思 daemonize yes # 端口号 port 6380 # IP绑定...

Java Socket实现Redis客户端的详细说明

Redis是最常见的缓存服务中间件,在java开发中,一般使用 jedis 来实现。 如果不想依赖第三方组件,自己实现一个简单的redis客户端工具,该如何实现呢?本文就是介绍这样一种方法。 Redis的协议非常简单,而且输入数据和输出数据都遵循统一的协议...

Redis数据库安装部署及基本操作详解

Redis数据库概述 Redis是一个开源的、使用c语言编写NoSQL数据库,它是基于内存运行并支持持久化,采用key-value(键值对)的存储形式, 是目前分布式结构中不可或缺的 Redis相比于其他数据库的优点 具有极高的数据读写速度:读(11000...

Redis Sentinel服务配置流程(详解)

1、Redis Sentinel服务配置 1.1简介 Redis 的 Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务...

Redis BloomFilter实例讲解

1. 简介 2. guava 实现 2.1 导入依赖 2.2 BloomFilterTest 2.3 启动测试 2.4 小节 3. redisson 实现 3.1 导入依赖 3.2 BloomFilterWithRedisson 3.3 启动测试 1. 简...

Redis执行Lua脚本的好处与示例代码

前言 Redis从2.6版本开始引入对Lua脚本的支持,通过在服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务端原子的执行多个Redis命令。 其中,使用EVAL命令可以直接对输入的脚本进行求值: redis>EVAL "ret...

redis如何设置database个数

redis设置database个数 今天连公司数据库,发现db达到255个,不知道为什么,其实是256个从0开始的 而我自己的只有16个 我是windows的,linux是一样的,目录结构如图: 编辑redis.conf配置文件,搜索database,可以...

redis分布式Jedis类型转换的异常深入研究

1 类型转换异常场景 我们在使用Jedis的时候,经常会出现类型转换异常,有如下情况: 多线程环境 Jedis是线程不安全的,如果存在多线程使用同一个Jedis,就会出现类型转换异常网上也流传着很多错误的解释,下面我们以一个案例来复现下这个问题,这个很好理...

Redis实现验证码发送并限制每日发送次数的示例代码

1、功能 输入手机号,点击发送后随机生成六位数字码,2分钟有效 输入验证码,点击验证,返回成功或失败 每个手机号每天只能输3次 2、分析 每个手机每天只能输3次:incr每次发送之后+1,当值为3时提示不能发送,过期时间为当天结束 随机生成6位数字验证码:...