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应用时繁 ...
随机推荐
- linux系统终端介绍
https://zhidao.baidu.com/question/174261014.html
- Django2.0——路由配置
URL配置就像是Django所支撑网站的目录,它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表.URL需要在urls.py进行配置,与其对应的视图函数写在views.py文件中.ur ...
- python字符串——"奇葩“的内置函数
一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引 ...
- JS中的let变量
介绍JS中的let变量: let允许你声明一个作用域被限制在块级中的变量.语句或者表达式.在Function中局部变量推荐使用let变量,避免变量名冲突. 作用域规则 let 声明的变量只在其声明的块 ...
- web开发相关工具总结
系统: linux -ssh工具:secureCRT ,PUTTY,XSHELL MYSQl: mysql客户端 ,mysqlworkbench, navicat for mysql ,phpmyad ...
- Debian8.8为普通用户添加sudo权限
1.进入root用户,su root 输入密码,我们首先修改 /etc/sudoers 文件的属性为可写权限# chmod +w /etc/sudoers2.编辑 vim /etc/sudoers,添 ...
- 用PrintStream向文件输入内容
import java.io.*; public class Main { public static void main(String[] args) throws FileNotFoundExce ...
- Ubuntu更改源地址列表
1. 备份源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 2.打开源列表 sudo gedit /etc/apt/sour ...
- 达梦、oracel、mysql数据库兼容
联合表更新sql语句: 只支持mysql.oracle,不支持达梦 update to_pub_report a, to_pub_rec_process b set a.Satisfy_ID , a. ...
- StartDT AI Lab | 视觉智能引擎之算法模型加速
通过StartDT AI Lab专栏之前多篇文章叙述,相信大家已经对计算机视觉技术及人工智能算法在奇点云AIOT战略中的支撑作用有了很好的理解.同样,这种业务牵引,技术覆盖的模式也收获了市场的良好反响 ...