【redis】
文章平均质量分 55
曲健磊的个人博客
just do it!
展开
-
如何将 Redis 设置为后台进程
Linux 在执行 redis-server 命令时,默认开启的 redis 是一个前台的进程,简单点说,就是执行这个命令的命令行窗口必须一直开着,一旦关闭,redis 服务端就会关闭。但是开着命令行又显得比较碍眼,所以我们一般把 redis 以后台进程的方式启动,那么如何实现呢?...原创 2018-07-23 16:30:49 · 32309 阅读 · 0 评论 -
Redis 与 set 相关的常用命令
Redis 的 set 是 string 类型的无序集合。sadd set01 1 1 1 2 3 4 5 5 创建一个 set 集合,里面有1,2,3,4,5 这 5 个元素(set类型的数据会自动去重):smembers set01 查看 set01 里面的元素:sismember set01 6 判断 6 是否在 set01 集合里面(是:1,否:0):sca...原创 2018-07-31 21:28:43 · 242 阅读 · 0 评论 -
Redis的事务
在关系型数据库中,事务是指一组命令的集合,这组命令构成了一个原子操作,这个操作要么全部执行成功,要么全部执行失败。而在非关系型数据库 Redis 中并非这样…Redis 中的事务同样也是一组命令的集合,这些命令会按序放入一个队列中,等待执行。与关系型数据库不同的是,Redis 允许这些命令部分执行成功。Redis 中常用的与事务相关的命令如下:multi:开启一个事务,类...原创 2018-08-05 17:08:23 · 223 阅读 · 0 评论 -
Redis 与 zset(sorted set) 相关的常用命令
Redis 的 zset 是 set 的有序版。 在 set 基础上,加一个 score 值,就是通过这个 score 值来实现的有序。 之前 set 是 k1 v1 v2 v3 现在 zset 是 k1 score1 v1 score2 v2zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 向 zset01 中添加 v1,v2,...原创 2018-08-01 08:32:28 · 3731 阅读 · 2 评论 -
Redis 如何实现主从复制
什么是主从复制?主从复制有什么作用?主从复制的优点是什么?主从复制的缺点是什么?原创 2018-08-15 11:32:36 · 2903 阅读 · 0 评论 -
Redis 主从复制的几种玩法
一、一主二仆二、薪火相传三、反客为主原创 2018-08-15 15:46:35 · 701 阅读 · 0 评论 -
Redis 哨兵模式
在 Redis如何实现主从复制 这篇文章中已经介绍了我们如何搭建一个小的 Redis 集群,从而实现主从复制。但是有一个缺点,master 宕机之后,其余的 slave 会一直等待,这就导致了这段时间没有办法向 redis 中写数据,那我们可不可以当 master 宕掉之后,让其余的 slave 从它们之中选出一个自动晋升为 master 呢?答案是肯定的。一、什么是哨兵模式它是反客为...原创 2018-08-19 08:55:52 · 206 阅读 · 0 评论 -
Redis 的 java 客户端 jedis
Java 连接 MySql 我们有 mysql-connector ,连接 Redis 我们有 jedis。一、引入依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>...原创 2018-08-20 07:18:10 · 272 阅读 · 0 评论 -
使用 JedisPool 来获取 Jedis 连接
jedis 作为一个数据库同样也有数据库连接池 JedisPool,封装了一个简单的获取 Jedis 连接池的工具类(单例模式):package com.qjl.pems.test;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class JedisPool...原创 2018-08-21 21:32:19 · 4585 阅读 · 0 评论 -
Spring 集成 Redis
注入 JedisShardInfo,配置好 ip 和 端口号:<!-- 单个jedis连接的配置 --> <bean id="jedisShardInfo" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="192.168.198.1.原创 2018-08-21 21:41:17 · 173 阅读 · 1 评论 -
Redis持久化AOF
什么是 AOF?AOF 是 Append Only File 的意思,它是指 Redis 在持久化数据到硬盘的时候是以日志的形式来记录每个写操作,并保存到磁盘的一个文件中,这个文件的名字默认叫 appendonly.aof。如何设置 Redis 以 AOF 的形式持久化?修改 redis.conf 中的 appendonly 的值为 yes。这样在 redis 启动的时候,...原创 2018-08-05 11:47:21 · 210 阅读 · 0 评论 -
Redis 与 hash 相关的常用命令
对于 hash 类型,key-value 的模式不变,只不过 key 对应的 value 是一个 map。hset user id 1 向 user(map) 中添加 key-value 对(id,1):hget user id 获取 user 中的 id 所对应的值:hmset user name zhangsan sex man 设置多个 key-value 对:...原创 2018-07-31 17:17:13 · 1124 阅读 · 0 评论 -
Redis 与 list 相关的常用命令
list 类似一个双端队列,即可以从左边 push 和 pop,也可以从右边 push 和 pop,底层其实是一个单链表。lpush list01 1 2 3 4 5 key 为 list01,value 为 1,2,3,4,5,从左向右push:rpush list01 a b 从右往左向 list01 中 push a b:lrange list01 0 -1 从左向...原创 2018-07-31 16:45:22 · 2339 阅读 · 0 评论 -
Redis 基础知识
记录 Redis 的一些基础知识点:Redis 采用的是基于内存的单进程单线程模型的 key-value 数据库。Memcached 采用的是单进程多线程模型的 key-value 数据库。默认16个数据库,类似数组下表从 0 开始,初始默认使用零号库。select 0~15 命令用于在 0 ~ 15 号库之间进行切换dbsize 命令查看当前数据库的 key 的数量:ke...原创 2018-07-23 21:44:06 · 311 阅读 · 0 评论 -
Redis 与 key 相关的常用命令
1. Redis keys 命令1.1 常用1.2 案例keys * 查看当前 redis 库中的所有 key:exists k3 判断 k3 键是否存在:move k3 1 将当前库中的 k3 移动到 1 号库:ttl k3 查看 k3 还有多少秒过期(-1表示永不过期,-2表示已过期):expire k3 20 为 k3 设置 20 秒的失...原创 2018-07-24 11:41:48 · 329 阅读 · 0 评论 -
Redis 与 String 相关的常用命令
set k1 v1 向当前库(0号库)设置一个键 k1,它的值为 v1:get k1 获取键 k1 的值:del k1 若 k1 存在,则删除 k1:append k1 234 向键 k1 的 value 后面追加(拼接一个字符串,因为键默认是字符串类型) “234” 字符串:strlen k1 获取键 k1 的长度:incr k1 键 k1 对应的 value 加...原创 2018-07-29 20:41:33 · 193 阅读 · 0 评论 -
Redis入门介绍
Redis 定义Remote Dictionary Server(Redis) 远程字典服务。Redis 是一个高性能的基于内存的 key-value 数据库存储系统,它通常被称为数据结构服务器。Redis 特点由 C 语言编写,遵循 BSD 开源协议。键(key)是 String 类型,值(value)可以是 String, Map, list, sets, sorted set...原创 2018-07-22 17:25:04 · 282 阅读 · 0 评论 -
将 Redis 安装成系统软件
在 Redis入门介绍中 我们已经知道了如何安装redis,那么我们如何把 Redis 安装成系统软件呢?在 make 命令执行完之后,继续在 src 目录下执行 make install 就会把 redis 的一些可执行文件放在 /usr/local/bin 目录下,就成为了系统软件:注:/usr/local :这是一个非常重要的目录,用户的很多应用程序和文件都会放在这个目录下,类似...原创 2018-07-22 21:47:50 · 246 阅读 · 0 评论 -
Redis配置文件介绍以及如何设置redis服务端的密码
redis 的根目录下的 redis.conf 用于配置 redis启动时的一些功能,例如:持久化,是否设置为后台进程,多长时间持久化一次… 下面详细介绍一下:一、参数说明Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/re...原创 2018-08-04 16:20:54 · 4704 阅读 · 1 评论 -
Redis持久化RDB
1. 什么是redis的持久化? Redis 是一款内存数据库,也就是说它把数据都存储在内存中,持久化就是把内存中的数据存储到电脑的磁盘上。Redis 提供了不同级别的持久化方式:RDB 持久化方式能够在指定的时间间隔能对你的数据进行快照存储。AOF 持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。本篇介绍第一种:RDB。2...原创 2018-08-04 16:59:41 · 198 阅读 · 0 评论 -
Redis的发布订阅
什么是发布订阅?发布和订阅是进程间的一种消息通信模式:发送者(publisher)将消息发送给一个第三方,订阅者(subscriber)从第三方那里接收消息。 这个第三方我们通常称之为 消息中间件,消息中间件主要是用来做系统之间的异步通信,常见的消息中间件有:ActiveMQ,RocketMQ,RabbitMQ,Kafka 等。 Redis 一般不用来做消息中间件,只用它做缓...原创 2018-08-09 09:58:25 · 1007 阅读 · 1 评论 -
Redis常用的五种数据类型
string(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。Redis 与 String 相关...原创 2018-08-05 10:25:26 · 252 阅读 · 0 评论 -
利用 Redis 队列操作的原子性实现秒杀
添加一个队列模拟商品列表lpush productlist 1 2 3 4 5 6 7 8 9 10利用多线程模拟 30 个人抢购这 10 件商品:package demo;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import redis.clien...原创 2019-01-05 15:21:28 · 9955 阅读 · 0 评论