Redis技术实战
文章平均质量分 52
从redis的搭建到项目实战再到redis运维的技术分享。
郝少
爱出者爱返,福往者福来。
展开
-
Redis位图操作:getbit、setbit、bitcount
一、理论基础1、数据在redis中都是二进制存储;2、每一个非中文字符占一个字节(Byte),中文字符占两个字节,而一个字节又是占8bit。3、位图不是一个真实的数据类型,而是定义在字符串类型上的面向位的操作的集合。二、语法GETBIT key offset对 key 所储存的字符串值,获取指定偏移量上的位(bit)。SETBIT key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。BITCOUNT key [start] [原创 2020-05-16 16:19:12 · 915 阅读 · 0 评论 -
Pipeline批量插入和查询【java版】
一、代码1、工具类package com.cn.until;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** *在高版本的jedis jar包,比如本版本2.9.0,JedisPoolConfig没有setMaxActive和setMaxWait属性了 * 这是因为高版本中官方废弃了此方法,用以下两个原创 2020-05-15 14:04:06 · 526 阅读 · 0 评论 -
Redis集群的关闭与重启
1、注意[root@master bin]# ./redis-cli --cluster create 192.168.xxx.21:7001 192.168.xxx.21:7002 192.168.xxx.21:7003 192.168.xxx.21:8001 192.168.xxx.21:8002 192.168.xxx.21:8003 --cluster-replicas 1 -a 123456上面的命令只能在新创健集群的时候执行一次,目的是为了建立内部各个节点的对应关系,比如主从关系,这些原创 2020-03-31 17:52:39 · 8537 阅读 · 1 评论 -
验证集群HA(高可用)和主从复制【精华】
1、正在运行的redis集群节点[root@master bin]# ps -ef | grep redisroot 11511 1 0 16:15 ? 00:00:00 ./redis-server 192.168.xxx.21:7001 [cluster]root 11516 1 0 16:15 ? 00:00:00 ./redis-server 192.168.xxx.21:7002 [cluster]root原创 2020-03-31 16:38:25 · 504 阅读 · 0 评论 -
Java_api访问Redis5.05集群
代码:package com.cn.until;import redis.clients.jedis.*;import java.util.LinkedHashSet;import java.util.Set;public class RedisClusterUtil { private static volatile JedisCluster cluster;...原创 2020-03-31 15:14:48 · 170 阅读 · 0 评论 -
Redis5.X自动搭建集群【超详细】
一、说明1、Redis 3.0 版本之后官方发布了一个集群管理工具 redis-trib.rb,集成在 Redis 源码包的src目录下。其封装了 Redis 提供的集群命令,使用简单、便捷。不过 redis-trib.rb 是 Redis 作者使用 Ruby 语言开发的,故使用该工具之前还需要先在机器上安装 Ruby 环境。后面作者可能意识到这个问题,Redis 5.0 版本开始便把这个工具...原创 2020-03-31 11:32:50 · 813 阅读 · 0 评论 -
手动搭建Redis集群【超详细】
一、说明1、redis版本redis-5.0.52、redis集群简介(1)redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,我这里用的是redis5.05版本;(2)redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点;(3)Redis 集群会将用户数据分散保存至各个节点中,突破单机 Redis 内存最大存储容量。集群引入了 哈希...原创 2020-03-31 10:44:39 · 1344 阅读 · 0 评论 -
Redis单机安装部署
1、创建目录/opt/softWare/redis5.0.52、解压压缩包[root@master redis5.0.5]# tar -zxvf redis-5.0.5.tar.gz3、编译安装[root@master redis5.0.5]# cd redis-5.0.5/[root@master redis-5.0.5]# ls00-RELEASENOTES...原创 2020-03-31 08:56:03 · 2438 阅读 · 0 评论 -
哨兵后台运行及配置
1、sentinel.conf文件增加daemonize yes#日志文件路径logfile "/data/log/sentinel/sentinel_log.log"2、后台启动./redis-sentinel /opt/softWare/redis3.0/redis-3.0.0/sentinel.conf --sentinel...原创 2020-03-27 17:57:15 · 805 阅读 · 0 评论 -
Redis三种集群方式_哨兵模式(多哨兵)
1、节点介绍master(192.168.xxx.21): 默认主服务slaves1(192.168.xxx.22): 默认从服务slaves2(192.168.xxx.23): 默认从服务2、master的redis.conf的主要配置daemonize yesport 6379bind 192.168.xxx.21requirepass "123456"3、master的sentinel.conf主要配置port 26379sentinel monitor mym原创 2020-03-27 17:16:37 · 2180 阅读 · 0 评论 -
Redis三种集群方式_哨兵模式(单哨兵)
一、概念1、使用哨兵模式的目的为了解决Redis的主从复制不支持高可用的性能,Redis实现了Sentinel哨兵机制解决方案;2、什么是哨兵模式由一个或多个Sentinel去监听任意多个主服务以及主服务器下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线的主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已经下线的从服务器,并且Sentinel可以互相监视。3、哨兵模式如何工作的(1)每个Sentinel(哨兵)进程以每秒钟一次的频率向整个集群中的M原创 2020-03-27 15:47:40 · 1925 阅读 · 1 评论 -
Redis三种集群方式_主从复制
一、概念1、主从复制的原理(1)从服务器向主服务器发送SYNC命令(2)主服务器收到SYNC命令后,执行BGSAVE命令,在后台生成RDB文件,使用缓冲区记录从现在开始执行的所有的写命令。(3)当主服务器的BGSAVE命令执行完毕后,主服务器后将BGSAVE命令生成的RDB文件发送给从服务器,从服务器接收并载入这个RDB文件,将自己的数据库状态更新至主服务器执行BGSAVE命令时的数据...原创 2020-03-27 11:00:37 · 1579 阅读 · 0 评论 -
Redis事务的使用
一、理论基础1、redis事务概念Redis 事务可以一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。2、redis事务执行命令的性质redis事务在执行一个队列中的一系列命令时遵循一次性、顺序性、排他性的性质。3、redis事务的执行阶段(1) 开始事务(multi)...原创 2020-03-24 09:45:04 · 480 阅读 · 0 评论 -
Redis_Pipeline的理解使用
Redis_Pipeline的理解使用原创 2020-03-23 17:14:53 · 627 阅读 · 1 评论 -
Redis持久(RDB、AOF)化演示
一、RDB1、RDB持久化配置打开redis的配置文件(redis.conf)找到如下位置进行修改进行修改;save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 10000...原创 2020-03-10 09:52:03 · 243 阅读 · 0 评论 -
redis中scan使用之java(api)和scala(api)
一、scala(api)1、工具类package com.cn.utilimport redis.clients.jedis.JedisPoolobject RedisUtils { private val host = "master" private val port = 6379 //private val poolConfig = new GenericOb...原创 2020-03-03 15:42:00 · 1407 阅读 · 0 评论 -
redis模糊查询keys和scan的比较和用法
一、keys1、语法keys pattern2、说明redis中允许模糊查询的有3个通配符,分别是:*,?,[]*:通配任意多个字符?:通配单个字符[]:通配括号内的某一个字符3、操作192.168.xxx.21:6379[2]> set hello 1OK192.168.xxx.21:6379[2]> set word 1OK192.168.xxx.21:6379[2]> set hellp 1OK192.168.xxx.21:637.原创 2020-03-02 17:24:28 · 6763 阅读 · 1 评论 -
redis之连接池的使用(java版)
1、需要导入的pom.xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version...原创 2020-03-01 16:09:03 · 319 阅读 · 0 评论 -
redis之hkeys、hvals、hgetall的使用
一、hkeys1、说明返回 hash 的所有 field。2、语法hkeys key二、hvals1、说明返回 hash 的所有 value。2、语法hvals key三、hgetall1、说明获取某个 hash 中全部的 filed 及 value。2、语法hgetall key四、实例192.168.xxx.21:6379[8]> hset user id 11(integer) 1192.168.xxx.21:6379[原创 2020-02-29 19:49:09 · 4316 阅读 · 0 评论 -
redis之decr、decrby的使用
一、decr1、说明Redis Decr 命令将 key 中储存的数字值减一。2、语法 DECR KEY_NAME二、decrby1、说明Redis Decrby 命令将 key 所储存的值减去指定的减量值。2、语法DECRBY KEY_NAME DECREMENT_AMOUNT三、实例演示192.168.xxx.21:6379[8]> decr dd(integer) -1192.168.xxx.21:6379[8]> decrby dd原创 2020-02-29 19:36:18 · 2503 阅读 · 0 评论 -
redis之incrby、incr、hincrby的使用
一、incrby1、说明Redis Incrby 命令将 key 中储存的数字加上指定的增量值。2、语法INCRBY KEY_NAME INCR_AMOUNT二、incr1、说明Redis Incr 命令将 key 中储存的数字值增一。2、语法 INCR KEY_NAME 三、hincrby1、说明Redis Hincrby 命令用于为哈希表中的...原创 2020-02-29 18:36:39 · 9447 阅读 · 0 评论 -
Redis从入门到实践
一、简介1、Redis是什么Redis是一个开源的使用C语言编写、开源、支持网络、可基于内存亦可持久化的日志型、高性能的内存高速缓存的Key-Value数据库,并提供多种语言的API。2、Redis的特点Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Redis不...原创 2019-07-12 14:36:12 · 362 阅读 · 0 评论