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应用时繁 ...
随机推荐
- git常用操作及其基本命令
克隆远程仓库代码到本地 本地创建有文件夹 git clone 远程仓库地址 本地文件夹名称 本地没有创建文件夹 git clone 远程仓库地址 文件夹名称 克隆完成之后,使用“cd 文件夹”的方式进 ...
- SaltStack中状态间关系unless、onlyif、require、require_in、watch、watch_in
1.unless 检查的命令,仅当unless选项指向的命令返回值为false时才执行name定义的命令 cmd.run: {% "] %} - name: 'nohup sh /alida ...
- 洛谷 P1258 小车问题
题目传送门 解题思路: 首先,每个人都要做一次车,而且两个人要同时到达,这样才能使总时间最短. 那么,我们设起点为A,终点为B,小车先带甲开到C点后甲下车走到B点,同时小车掉头与已经走到D点的乙相向而 ...
- \_\_del\_\_
__del__ 一.__del__ __del__也称之为析构方法 __del__会在对象被删除之前自动触发 print('主')class People: def __init__(self, na ...
- gcc -S xx
编译器的核心任务是把C程序翻译成机器的汇编语言(assembly language).汇编语言是人类可以阅读的编程语言,也是相当接近实际机器码的语言.由此导致每种 CPU 架构都有不同的汇编语言. 实 ...
- HDU - 4578 线段树+三重操作
这道题自己写了很久,还是没写出来,也看了很多题解,感觉多数还是看的迷迷糊糊,最后面看到一篇大佬的才感觉恍然大悟. 先上一篇大佬的题解:https://blog.csdn.net/aqa20372995 ...
- Spring 连接MySQL报错java.sql.SQLException: Unknown system variable 'tx_isolation'
先是报错255,这个时候需要把 jdbc:mysql://localhost:3306/projUse 写成 jdbc:mysql://localhost:3306/projUse?useUnicod ...
- 吴裕雄--天生自然 pythonTensorFlow图形数据处理:解决module 'tensorflow' has no attribute 'Session'
原因:因为是tensorflow 2.0版本
- tensorflow(六)
一.TensorBoard可视化工具 TensorBoard实现形式为web应用程序,这为提供分布式.跨系统的图形界面服务带来了便利. 1.使用流程 SummaryOps->Session--( ...
- Django与AJAX-choice字段-MTV和MVC模型-sweetalert搭建页面
Django中的choice字段 应用的场景: 用户信息举列:如用户性别.婚否.学历.工作状态等可以列举出来供选择的信息 书写models创建表模型: 数据的获取和查询: 总结: "&quo ...