Spring Boot 之 Redis详解
Redis是目前业界使用最广泛的内存数据存储。
Redis支持丰富的数据结构,同时支持数据持久化。
Redis还提供一些类数据库的特性,比如事务,HA,主从库。
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次加载使用
Redis不仅仅支持简单的key-value类型的数据,同时还支持list,set,zset,hash等数据结构的存储
Redis支持数据的备份
支持主从同步,数据存在内存中,性能卓越。
Redis数据结构
String(字符串)
String是redis最基本的类型,一个key对应一个value
1 |
127.0.0.1:6379> set name "runoob" |
set 和 get 命令,key为name,value为runoob。
List(列表)
双向列表,适用于最新列表,关注列表
列表是最简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部或者尾部
1 |
127.0.0.1:6379> lpush runoob redis |
lpush存入链表,lrange列出链表
Set(集合)
适用于无顺序的集合,点赞点踩,抽奖,已读,共同好友
Redis的Set是String类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找,都是$O(1)$
$asdd$命令:添加一个string元素命令到key对应的set集合中,成功返回1,如果元素已经存在,返回0,key对应的set不存在返回错误。
1 |
127.0.0.1:6379> SADD damin redis |
SortedSet(有序集合)
排行榜,优先队列
和set一样,zadd也是不允许重复的成员
Hash(哈希)
对象属性,不定长属性数
是一个键名对集合
hash特别适合用于存储对象
1 |
127.0.0.1:6379> HMSET user:1 username runoob password runoob points 200 |
Redis HMSET , HGETALL 命令,user:1为键值
KV:单一数值,验证码,PV,缓存
启动Redis
1 |
1、用cmd命令转到redis根目录下 |
Redis基础
基本指令功能
1 |
* Created by nowcoder on 2016/7/30. |
Redis事务
redis事务可以一次执行多个命令,并且有以下2个属性:
事务是一个单独的隔离操作,事务中所有命令都会序列化,按顺序地执行,事务在执行的过程中,不会被其他客户端发送过来的命令请求所中断
事务是一个原子操作,事务中的命令要不全部被执行,要不都不执行
一个事务从开始到执行有三个阶段 :
开始事务
命令入队
执行事务
实例:
先以MULTI开始一个事务,然后将多个命令入队到事务中,最后由EXEC命令触发事务,一并执行事务中的所有命令
1 |
127.0.0.1:6379> MULTI |
事务相关命令:
DISCARD:取消事务discard,放弃执行事务中所有命令
EXEC:执行所有事务块内的命令 exec
MULTI:标记一个事务块的开始multi
UNWATCH:取消watch命令对所有key的监视
Redis脚本
Redis脚本用Lua解释器来执行脚本,脚本执行的命令为EVAL
1 |
127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
|
Redis 连接
Redis连接服务器
1 |
127.0.0.1:6379> AUTH "password" |
连接命令:
AUTH password:验证密码是否正确
PONG:查看服务器是否运行
ECHO message : 打印字符串
QUIT:关闭当前连接
SELECT index :切换到指定的数据库
Java使用Redis
添加jedis.jar 包
然后就可以嗨起来了
连接服务器
1 |
import redis.clients.jedis.Jedis; |
字符串
1 |
import redis.clients.jedis.Jedis; |
Redis Java List
1 |
import redis.clients.jedis.Jedis; |
Redis Java Keys
1 |
import redis.clients.jedis.Jedis; |


Spring Boot 之 Redis详解的更多相关文章
- Spring Data操作Redis详解
Spring Data操作Redis详解 Redis是一种NOSQL数据库,Key-Value形式对数据进行存储,其中数据可以以内存形式存在,也可以持久化到文件系统.Spring data对Redis ...
- Spring Boot 自定义日志详解
本节内容基于 Spring Boot 2.0. 你所需具备的基础 什么是 Spring Boot? Spring Boot 核心配置文件详解 Spring Boot 开启的 2 种方式 Spring ...
- Spring Boot 集成 FreeMarker 详解案例(十五)
一.Springboot 那些事 SpringBoot 很方便的集成 FreeMarker ,DAO 数据库操作层依旧用的是 Mybatis,本文将会一步一步到来如何集成 FreeMarker 以及配 ...
- Spring Boot 之 HelloWorld详解
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “以前是人放狗看家,现在是狗牵着人散步” — 随笔 一.Spring Boot 自述 世界上最好 ...
- spring boot容器启动详解
目录 一.前言 二.容器启动 三.总结 =======正文分割线====== 一.前言 spring cloud大行其道的当下,如果不了解基本原理那么是很纠结的(看见的都是约定大于配置,但是原理呢?为 ...
- spring boot application.properties详解
附上最新文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-propertie ...
- Spring Boot启动流程详解(一)
环境 本文基于Spring Boot版本1.3.3, 使用了spring-boot-starter-web. 配置完成后,编写了代码如下: @SpringBootApplication public ...
- Spring Boot Tomcat配置详解
参数配置容器 server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似. 所有参数绑定配置类:org.springframe ...
- Spring Boot属性配置文件详解
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...
随机推荐
- 吴裕雄--天生自然ShellX学习笔记:Shell 文件包含
和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空 ...
- keras字符编码
https://www.jianshu.com/p/258a21ae0390https://blog.csdn.net/apengpengpeng/article/details/80866034#- ...
- Linux--Centos 下搭建 gitolite
参考:http://blog.csdn.net/zhangjs0322/article/details/32711211 http://gitolite.com/gitolite/fool_p ...
- ios 真机使用相机闪退问题
需要增加权限 在info文件增加 主要前面的key 后面的cameraDesciption只是一段描述 随便写就可以
- JVM学习思维导图
- jenkins-master-slave节点配置总结
一.jenkins分布式简单介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能 二.jenk ...
- Tarjan算法:求解无向连通图图的割点(关节点)与桥(割边)
1. 割点与连通度 在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point).一个没有关节点的 ...
- StartDT AI Lab | 智能运筹助力企业提升决策效率、优化决策质量
在人工智能和大数据时代,越来越多的云上数据和越来越智能的模型开始辅助人们做出各种最优决策,从运营效率.成本节约.最优配置等方方面面,实现降本增效,进一步提升商业效率.京东.美团.滴滴.顺丰等众多知名厂 ...
- mysql自定义函数多表更新:update_order_relation()
DELIMITER $$ USE `local_hnyz`$$ DROP FUNCTION IF EXISTS `update_order_relation`$$ CREATE DEFINER=`ro ...
- [Algo] 26. Kth Smallest Number In Sorted Matrix
Given a matrix of size N x M. For each row the elements are sorted in ascending order, and for each ...