202010-10 Redis的Expire与Setex区别说明 Expire为key设置过期时间Setex为key设置value值,并且,设置过期时间区别Setex是一个原子操作设置值,设置过期时间两个动作,会在同一时间完成在Redis缓存中,非常实用补充知识:redis之setnx、setex、setrange、mset1.setnx设置key对应的值为string类型的value。如果key已经存在,返回0,nx是notexist的意思。例如我们添加一个name=HongWan_new的键值对,可以这样做:redis127.0.0.1:6379>getname"HongWan"redis127... 继续阅读 >
202010-10 python操作redis数据库的三种方法 安装依赖pip3installredis使用的三种方式直接使用importredisr=redis.Redis(host='127.0.0.1',port=6379,db=1,password=None,decode_responses=True)连接池使用importredispool=redis.ConnectionPool(host='127.0.0.1',port=6379,db=1,max_connections=100,password=None,decode_responses=True)r=redis.Redis(connection_pool=pool)缓存使用:要额外安装django-redis安装django-redispipinstalldjango-redi... 继续阅读 >
202010-10 redis批量删除key的步骤 由于误用插件,某台服务器上的redis实例存在数百万无用的key。为了删除无用数据,上网查找redis批量删除key的方法,发现使用过程中都有问题。经过本人的研究,终于找到redis批量删除key的正确用法。本文分享最新版Redis批量删除key的方法,希望能帮到遇到同样问题的网友。redis批量删除key网上许多文章和教程给出的redis批量删除key命令是:redis-cliKEYS"$PATTERN"|xargsredis-cliDEL在本人的实践中,这条命令存在两个问题... 继续阅读 >
202010-10 查看Redis内存信息的命令 查看Redis内存使用info命令用于监控Redis运行情况,其中infomemory可以查看Redis内存使用统计信息:redis-cliinfomemory命令输出结果如下图:前几个字段信息最为重要,其含义分别为:属性名属性说明used_memoryRedis分配器分配的内存总量,也就是内部存储的所有数据内存占用量used_memory_human以可读的格式返回used_memoryused_memory_rss... 继续阅读 >
202010-10 浅析redis cluster介绍与gossip协议 一、rediscluster介绍自动将数据进行分片,每个master上放一部分数据提供内置的高可用支持,部分master不可用时,还是可以继续工作的rediscluster架构下的每个redis都要开放两个端口号,比如一个是6379,另一个就是加1w的端口号16379。6379端口号就是redis服务器入口。16379端口号是用来进行节点间通信的,也就是clusterbus的东西,clusterbus的通信,用来进行故障检测、配置更新、故障转移授权。clusterbus... 继续阅读 >
202010-10 详解Redis的慢查询日志 Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条命令分为如下四部分执行:需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题。需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查... 继续阅读 >
202010-10 如何高效使用Redis作为LRU缓存 当用Redis作为一个LRU存储时,有些时候是比较方便的,在你增添新的数据时会自动驱逐旧的数据。这种行为在开发者论坛是非常有名的,因为这是流行的memcached系统的默认行为。LRU实际上只是支持驱逐的方式之一。这页包含更多一般的Redismaxmemory指令的话题用于限制内存使用到一个定额,同时它也深入的涵盖了Redis所使用的LRU算法,实际上是精确LRU的近似值。一、Maxmemory设置指令Maxmemory设置指令用于配置Redis的数据集使用指定... 继续阅读 >
202010-10 Linux安装Redis实现过程及报错解决方案 今天安装redis出现些之前安装不曾出现错误,一并在此做个记录一、安装redis及出现错误首先下载redis,官方下载地址页面:https://redis.io/download我们这里选择稳定版6.0.1版本正常安装步骤如下:[root@localhost~]#yuminstallgcc[root@localhost~]#cd/usr/local[root@localhostlocal]#wgethttp://download.redis.io/releases/redis-6.0.1.tar.gz[root@localhostlocal]#tar-xvfredis-6.0.1.tar.gz[root@localhostl... 继续阅读 >
202010-10 基于python实现操作redis及消息队列 操作redisimportredisredisPool=redis.ConnectionPool(host='192.168.100.50',port=6379,db=8)redis=redis.Redis(connection_pool=redisPool)redis.set('key','values')redis.get('com')redis.append('keys','values')redis.delete('keys')print(redis.getset('name','Mike'))#赋值name为Mike并返回上一次的valueprint(redis.mget(['name','age']))#输出name键和age键的valueprint(redis.setnx('newname','james'))#如... 继续阅读 >
202010-09 WINDOWS中REDIS主从配置实现代码解析 1,复制两个redis文件夹,粘贴在同级目录下2,分别修改6380和6381文件夹中的redis.window.conf文件port:分别改为6380、6381均增加:slaveof127.0.0.163793,在6380和6381目录下分别执行以下命令redis-server--service-installredis.windows.conf--maxmemory200m--service-nameredis6380(6381目录下改成6381)4,验证主从配置①,服务端,先启动主服务器,再启动子服务器,会发现主服务器有记录②,客... 继续阅读 >
202010-09 Redis migrate数据迁移工具的使用教程 前言在工作中可能会遇到单点Redis向Redis集群迁移数据的问题,但又不能老麻烦运维来做。为了方便研发自己迁移数据,我这里写了一个简单的Redis迁移工具,希望对有需要的人有用。本工具支持:单点Redis到单点Redis迁移单点Redis到Redis集群迁移Redis集群到Redis集群迁移Redis集群到单点Redis迁移该工具已经编译成了多平台命令,直接从Github下载二进制文件执行就好了。项目地址:https://github.com/icowan/redis-tool把代... 继续阅读 >
202010-09 Redis处理高并发机制原理及实例解析 1.Redis是基于内存的,内存的读写速度非常快;2.Redis是单线程的,省去了很多上下文切换线程的时间;3.Redis使用多路复用技术,可以处理并发的连接。非阻塞IO内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。下面重点介绍单线程设计和IO多路复用核心设计快的原因为什么Redis是单线程的1.官方答案因为Redis是基于内... 继续阅读 >
202010-09 Spring Cache整合Redis实现方法详解 导入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>基本配置spring.redis.port=638... 继续阅读 >
202010-09 spring boot+redis 监听过期Key的操作方法 前言:在订单业务中,有时候需要对订单设置有效期,有效期到了后如果还未支付,就需要修改订单状态。对于这种业务的实现,有多种不同的办法,比如:1、使用querytz,每次生成一个订单,就创建一个定时任务,到期后执行业务代码;2、rabbitMq中的延迟队列;3、对Redis的Key进行监控; 1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></... 继续阅读 >
202010-09 Redis面试必会的题目 Redis支持哪几种数据类型?string:最基本的数据类型,二进制安全的字符串,最大512Mlist:按照添加顺序保持顺序的字符串列表set:无序的字符串集合,不存在重复的元素sortedset:已排序的字符串集合hash:key/value对的一种集合Redis是单进程的还是单线程的?Redis是单进程单线程的,Redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。Redis为什么是单线程的?多线程处理会设计到锁,而... 继续阅读 >
202010-09 虚拟机linux安装redis实现过程解析 redis官网website-adress安装步骤1.先按照官网下方的weget命令把redis下载下来接着如果没猜错,你会在make命令上出错由于redis是C写的,所以需要装上c的运行环境yuminstallgcc-c++接着你还有可能报错redis编译出现zmalloc.h:50:31:致命错误:jemalloc/jemalloc.h:没有那个文件或目录只需要执行makeMALLOC=libc命令编译接着如果make命令没有问题按照提示执行一下maketest命令---该命令会检测你当前安装是否有问题接着你... 继续阅读 >