一、先谈谈单个Redis服务的安装 使用的redis是2.8.17版本,从官网下载解压缩后文件内容为: 安装并启动一个redis服务很简单,步骤如下: 1、配置日志文件目录:只用修改logfile定位到Log文件夹下 2、命令行定位到解压文件的目录 cd /d D:\MasterRedis-2.8.17 (windows 7) cd /d D:\SlaveRedis-2.8.17 (windows se...
1原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作。但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限。所以记录下这个踩坑的过程,背景如下:公司因为redis服务器内存吃紧,需要删除一些无用的没有设置过期时间的key。大概有500多w的key。虽然key的数目听起来挺吓人。但是自己玩redis也有年头了,这种事还不是手到擒来?当时想了下,具体方案是通过lua脚本来过滤...
一、对持久化的理解Redis 平时的键值对都是在内存中的,但是一旦意外中断或关闭连接,我们将丢失数据。为了避免这种情况,就有一个持久化的机制,在某种条件下将数据以某种方式转储到文件中,下次启动服务器时可以通过持久化文件恢复数据。 二、持久化的方式Redis 提供了两种方式,分别是RDB 和 AOF,两者最大的区别是 RDB 存储的是数据库状态(键值对),AOF 则是通过保存 Redis 服务器所执行的命令来记录数据库状态。 三、RDB3.1...
一:关系型数据库与非关系型数据库关系型数据库关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向于记录他借助于集合代数等数学概念和方法来处理数据库中的数据关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表以及之间的联系组成的一个数据组织现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示sql语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库...
redis的主从复制配置一、 原理Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面是关于redis主从复制的一些特点:1.master可以有多个slave2.除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构3.主从复制不会阻塞master。也就是说当一个或多个slave与master进行初次同步数据时,master可以继续处理client发来...
redis-rdb-tools是由Python写的用来分析Redis的rdb快照文件用的工具,它可以把rdb快照文件生成json文件或者生成报表用来分析Redis的使用详情、使用标准的diff工具比较两个dump文件,总之是比较实用的工具,至于安装可以通过Python的pip来安装~ yum -y install python-pip python-redis
~ pip install rdbtoolsgit安装git clone https://github.com/sripathikrishnan/redis-rdb-tools
cd redis-rdb-tools
python setup.py install...
spring boot集成redis步骤:1、添加pom依赖1<dependency>2<groupId>org.springframework.boot</groupId>3<artifactId>spring-boot-starter-data-redis</artifactId>4</dependency>2、在application.yml或aplicaction.properties中添加连接信息application.yml:spring:redis:host: 127.0.0.1port: 6379database: 0如果是applicaton.properties:spring.redis.host=127.0.0.1
spring.redis.port=6379
3、配置完以上两个步骤后,Spring...
Redis主要支持的数据类型有5种:String ,Hash ,List ,Set ,和 Sorted Set。Redis数据类型String
string类型在redis中是最常见的类型,value存储最大数据量为512M,可以存放json数据,图像数据等等。下面跟着敲Redis命令操作String类型数据的代码吧。redis数据写命令Set,相当于数据插入redis 127.0.0.1:6379> set name zlh --返回值: ok,说明插入成功。如果当前name存在值则覆盖替换原有的value值。redis数据读命令Get,获...
转载自:https://blog.csdn.net/w05980598/article/details/80264568 众所周知,当redis中key数量越大,keys 命令执行越慢,而且最重要的会阻塞服务器,对单线程的redis来说,简直是灾难,终于找到了替代命令scan。 SCAN cursor [MATCH pattern] [COUNT count]SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements):SCAN 命令用于迭代...
导读 SHA-1算法是第一代“安全散列算法”的缩写,其本质就是一个Hash算法。SHA系列标准主要用于数字签名,生成消息摘要,曾被认为是MD5算法的后继者。如今SHA家族已经出现了5个算法。Redis使用的是SHA-1,它能将一个最大2^64比特的消息,转换成一串160位的消息摘要,并能保证任何两组不同的消息产生的消息摘要是不同的。虽然SHA1于早年间也传出了破解之道,但作为SHA家族的第一代算法,对我们仍然很具有学习价值和指导意义。...
目录项目的Github地址需求介绍搭建Redis集群环境下面先描述单机版redis的安装下面将进行Redis3主3从集群环境搭建基于SOA架构, 创建门户ashop-portal-web门户项目实现门户首页商品类目显示实现门户首页大广告轮播实现商品类目缓存实现大广告缓存, 缓存同步缓存同步项目的Github地址需求介绍为了缩短用户看到首页信息的时间, 我们把首页显示的类目信息, 广告等数据放到Redis缓存中, 这样就不用通过耗时的数据库操作获取数据, 而是直接...
一、向集合添加一个或多个成员 命令:sadd 格式:sadd key member1 [member2]127.0.0.1:6379> sadd set_key m1
(integer) 1127.0.0.1:6379> sadd set_key m2 m3
(integer) 2二、返回集合中的所有成员 命令:smembers 格式:smembers key127.0.0.1:6379> smembers set_key
1) "m3"2) "m2"3) "m1" 三、移除并返回集合中的一个随机元素 命令:spop 格式:spop key127.0.0.1:6379> sadd set_key m1 m2 m3 m4 m5 m6 m...
1、zadd key score1 value1 score2 value2 添加元素2、zrem key value1 value2 .. 删除集合中的元素3、zremrangebyscore key min max 按照socre来删除元素,删除score在[min,max]之间的4、zremrangebyrank key start end 按排名删除元素,删除名次在[start,end]之间的5、zrank key member 查询member的排名(升续 0名开始)6、zrevrank key memeber 把集合排序后,返回名次[start,stop]的元素,默认是升续排列,Withscores 是把s...
引言redis大家在项目中经常会使用到。官网也提供了多语言的客户端供大家操作redis,如下图所示
但是,大家有思考过,这些语言操作redis背后的原理么?其实,某些大神会说只要按照redis的协议,发送指定数据给redis,监听返回值即可。确实,本质原理就是如上面那句话所说。博主也是以这种思路,去看了一下JAVA端的开源组件jedis的源码,然后取其精华,写了一个段能操作redis的demo,希望大家能有所收获。jedis的github地址为:https:/...
1.1 RDB持久化RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘。RDB是Redis默认采用的持久化方式。save 900 1save 300 10save 60 10000 1.1.1 持久化条件配置save 开头的一行就是持久化配置,可以配置多个条件(每行配置一个条件),每个条件之间是“或”的关系。“save 900 1”表示15分钟(900秒钟)内至少1个键被更改则进行快照。“save 300 10”表示5...