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应用时繁 ...
随机推荐
- P2P平台疯狂爆雷后,你的生活受到影响了吗?
最近这段时间P2P爆雷的新闻和报道一直占据着各大财经和科技媒体的重要位置.而据网贷之家数据显示,截至2018年7月底,P2P网贷行业累计平台数量达到6385家(含停业及问题平台),其中问题平台累计为2 ...
- Codeforces Round #624 (Div. 3)(题解)
A. Add Odd or Subtract Even 思路: 相同直接为0,如果两数相差为偶数就为2,奇数就为1 #include<iostream> #include<algor ...
- 题解-------CF235B Let's Play Osu!
传送门 题目大意 求出总得分的期望值. 思路 还没有学习数学期望的小朋友赶紧去学一下数学期望,这里只提供公式: $E\left ( x \right )=\sum_{k=1}^{\infty }x_{ ...
- Android圆角布局、天气应用、树状图、日食动画、仿饿了么导航效果等源码
Android精选源码 Android通用圆角布局源码 Android天气应用源码,界面美观 一个支持定制的树状 Android 自定义View PIN 码专用输入控件,支持任意长度和输入任意数据 A ...
- redhat7.0安装postgresql
安装命令 sudo yum install postgresql-server 查看安装的包 sudo yum list postgres* postgresql.x86_64 postgresql- ...
- [Algo] 306. Check If Linked List Is Palindrome
Given a linked list, check whether it is a palindrome. Examples: Input: 1 -> 2 -> 3 -> 2 ...
- WebServerFactoryCustomizer set the port, address, error pages etc.
package com.ioc; import org.springframework.boot.SpringApplication; import org.springframework.boot. ...
- debian8修改kde桌面语言
apt-get install kde-l10n-zhcn, language里面改中文 亲测可用 来源:http://tieba.baidu.com/p/2489771177
- Java之异常的处理(try-catch)
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java. ...
- Android 5.0 5.1 webview 闪退问题
自定义webview /** * 处理Android 5.0 5.1 webview 闪退 */ class MyWebView : WebView { companion object{ priva ...