首页 Redis

Redis

  • Redis分布式锁的实现方式(redis面试题)

    Redis分布式锁的实现方式(redis面试题)

    什么是分布式锁? 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchronized是共享对象头,显示锁Lock是共享某个变量(state)。 进程锁:为了控制同一操作系统中多个进程访问某个共享资源,因为进程具有独立性,各个进程无法访问其他进程的资源,因此无法通过synchronized等线程锁实...

    Redis 2020-02-02 26 0
  • Redis实现布隆过滤器的方法及原理

    Redis实现布隆过滤器的方法及原理

    布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 本文将介绍布隆过滤器的原理以及Redis如何实现布隆过滤器。 应用场景 1、50亿个电话号码,现有10万个电话号码,如何判断这10万个是否已经存在在50亿个之中?(可能方案:数据库,set, hyperloglog) 2、新闻客户端看新闻时,它会不断推荐新的内...

    Redis 2020-02-02 35 0
  • redis在Windows中下载及安装、设置教程

    redis在Windows中下载及安装、设置教程

    一、下载: 下载地址:https://github.com/MicrosoftArchive/redis/releases 根据系统下载的版本:以(64位为例) 下载后一般解压到根目录下:如(E:\Redis-x64-3.2.100) 二、安装: 打开cmd命令窗口,使用命令进行安装和注册redis到window服务 安装命令:redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动服务命令:redis-...

    Redis 2020-02-02 34 0
  • Redis Scan命令的基本使用方法

    Redis Scan命令的基本使用方法

    1. 概述 SCAN 命令以及比较相近的 SSCAN、HSCAN 和 ZSCAN 命令都用于增量迭代数据集元素: SCAN 命令用于迭代当前数据库中的数据库键。 SSCAN 命令用于迭代集合(Set)中的元素。 HSCAN 命令用于迭代哈希(Hash)中的字段以及对应的值。 ZSCAN 命令用于迭代有序集合(Sorted Set)中的元素以及对应的得分。 由于这些命令都可以增量迭代,每次调用都只会返回少量元素,所以这些命令可以用于生产环境中,不用担心像使用 KEYS、SMEM...

    Redis 2020-02-02 30 0
  • CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)

    CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例(详解)

    因使用源码安装的MySQL5.7.28多实例,在导入数据库时会出现问题,所以重新研究使用mysql_multi的方法来管理多实例,经过测试环境验证之后,在各方面使用上特别在备份还原上,没有报MySQL5.7.28多实例的问题,踩了不少坑,这里我将我的部署过程分享下,如果在哪里出问题的,还请多多指正与指导,谢谢!! 参考文章:Centos7.5安装mysql5.7.24二进制包方式部署 https://www.ddpool.cn/article/151867.htm 本从就直接从2.7章节开始安装mysql多实...

    Redis 2020-02-02 33 0
  • 从一个小需求感受Redis的独特魅力(需求设计)

    从一个小需求感受Redis的独特魅力(需求设计)

    分享一个简单的小需求应该怎么设计实现以及有关Redis的使用 Redis在实际应用中使用的非常广泛,本篇文章就从一个简单的需求说起,为你讲述一个需求是如何从头到尾开始做的,又是如何一步步完善的。之前写过一篇《如何实现页面广告随时上下线、过期自动下线及到时自动上线》,也涉及到了Redis在项目中的实际应用,有兴趣的可以看一下。 需求 设定,现在我们有一个APP,产品新提出一个叫“程序员树洞”的功能,具体功能就不说了,其中这个功能有一点需要做的是在使用该功能时,如果是首次进入会展示一个协议页面,用户需要勾选后点确...

    Redis 2020-02-02 43 0
  • Redis中键值过期操作示例详解

    Redis中键值过期操作示例详解

    1.过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key 在 n 秒后过期; pexpire key milliseconds:设置 key 在 n 毫秒后过期; expireat key timestamp:设置 key 在某个时间戳(精确到秒)之后过期; pexpireat key millisecondsTimestamp:设置 key 在某个时间戳(精确到毫秒)之后过期; 下面分别来看以上这些命令的具体实现。...

    Redis 2020-01-15 45 0
  • 使用redis分布式锁解决并发线程资源共享问题

    使用redis分布式锁解决并发线程资源共享问题

    前言 众所周知, 在多线程中,因为共享全局变量,会导致资源修改结果不一致,所以需要加锁来解决这个问题,保证同一时间只有一个线程对资源进行操作 但是在分布式架构中,我们的服务可能会有n个实例,但线程锁只对同一个实例有效,就需要用到分布式锁----redis setnx 原理 修改某个资源时, 在redis中设置一个key,value根据实际情况自行决定如何表示 我们既然要通过检查key是否存在(存在表示有线程在修改资源,资源上锁,其他线程不可同时操作,若key不存在,表示资源未被线程占用,允许线程抢占,...

    Redis 2020-01-15 38 0
  • 基于Redis实现每日登录失败次数限制

    基于Redis实现每日登录失败次数限制

    1. 思路 下面是我以前写的代码,没考虑高并发场景。如果是高并发场景下,要考虑到redis的set方法覆盖值问题,可以使用incr来替代get,set保证数据安全 通过redis记录登录失败的次数,以用户的username为key 每次收到登录的请求时,都去redis查询登录次数是否已经大于等于我们设置的限制次数, 是的话直接返回 2. 代码 前台登录和后台查询数据库的代码省略 2.1 controller 我这里使用的Jboot, 获取redisTemplate的方式是Jboot.me().ge...

    Redis 2020-01-15 43 0
  • Redis全量复制与部分复制示例详解

    Redis全量复制与部分复制示例详解

    Redis 主从复制 Redis 实例划分为主节点(master)和从节点(slave) 默认情况下,Redis都是主节点 每个从节点只能有一个主节点,而主节点可以同时具有多个从节点 复制的数据流是单向的,只能由主节点复制到从节点 slaveof 命令在使用时,可以运行期动态配置,也可以提前写到配置文件中 主从复制 步骤 详细描述 保存主节点信息...

    Redis 2020-01-15 36 0
  • 利用Redis如何实现自动补全功能

    利用Redis如何实现自动补全功能

    忘了redis从哪个版本开启,能够根据输入的部分命令前缀给出提示,即自动补全。接下来笔者介绍基于redis实现这个很酷的功能。 about sorted set 假设结果中有mara,marabel,marcela。现在我们输入mar,就能得到这三个名字,并且输出结果按照字典排序。在实现这个需求之间,我们先简单介绍sorted set。 大家都知道sorted set是按照score排序的: 127.0.0.1:6380> zadd test 85 sida 127.0.0.1:6380...

    Redis 2020-01-15 52 0
  • Redis自动化安装及集群实现搭建过程

    Redis自动化安装及集群实现搭建过程

    Redis实例安装 安装说明:自动解压缩安装包,按照指定路径编译安装,复制配置文件模板到Redis实例路的数据径下,根据端口号修改 配置文件模板 配置文件,当前shell脚本,安装包 参数1:basedir,redis安装包路径 参数2:安装实例路径 参数3:安装包名称 参数4:安装实例的端口号 #!/bin/bash set -e if [ $# -lt 4 ]; then echo "$(basename $0): Missing script...

    Redis 2020-01-15 38 0
  • Redis5.05单独模式安装及配置方法

    Redis5.05单独模式安装及配置方法

    操作系统Centos7 1、下载redis wget http://download.redis.io/releases/redis-5.0.5.tar.gz tar xzf redis-5.0.5.tar.gz cd redis-5.0.5 make 2、启动服务 命令执行完成之后,既可以启动Redis 服务 [root@zk02 redis]# src/redis-server 5265:C 23 Oct 2019 16:58:04.682 # oO0OoO0OoO0Oo...

    Redis 2020-01-15 32 0
  • Linux下redis5.0.0安装教程详解

    Linux下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis [root@localhost software]# cd redis-5.0.0/ 3.安装:make, (1)若提示:: gcc: Command not found 要安装gcc ,直接命令安装:yum -y install gcc (2)若:提示 fatal error: jemalloc/jemalloc.h: No such file...

    Redis 2020-01-15 28 0
  • Redis实现“附近的人”功能

    Redis实现“附近的人”功能

    针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。 操作命令 自Redis 3.2开始,Redis基于geohash和有序集合提供了地理位置相关功能。 Redis Geo模块包含了以下6个命令: GEOADD: 将给定的位置对象(纬度、经度、名字)添加到指定的key; G...

    Redis 2020-01-15 32 0
1 2 3 4 5 ››