Redis的安装、基本使用以及与SpringBoot的整合
1、概述
Redis 是现在很流行的一个 NoSql 数据库,每秒读取可以达到10万次,能够将数据持久化,支持多种数据结构,容灾性强,易扩展,常用于项目的缓存中间件。
今天我们就来聊聊关于Redis的那些事儿:
1)Redis在CentOS7中的安装
2)Redis的基本使用
3)Redis与SpringBoot的整合
2、Redis在CentOS7中的安装
2.1 下载Redis
可登录Redis官网(https://redis.io/),下载最新版本的Redis安装包

2.2 解压Redis安装包
1)将安装包 redis-6.2.5.tar.gz 拷贝到 CentOS7 ,例如 /home 目录下
2)解压
# tar -zxvf redis-6.2.5.tar.gz
2.3 安装依赖包
# yum -y install gcc-c++
2.4 编译并安装Redis
进入解压后的redis安装包目录,执行编译并安装
# cd redis-6.2.5
# make && make install (过程需要几分钟)

2.5 配置Redis配置文件
1)创建 /usr/local/redis 目录,用于存放配置文件
# cd /usr/local
# mkdir redis
2)创建 /usr/local/redis/db 目录,用于存放数据文件
# cd /usr/local/redis
# mkdir db
3)进入 /home/redis-6.2.5/ 目录,拷贝redis配置文件到 /usr/local/redis 目录
# cd /home/redis-6.2.5/
# cp redis.conf /usr/local/redis/
4)修改redis配置文件
# cd /usr/local/redis/
# vi redis.conf
修改以下几个地方:




2.6 配置Redis启动脚本
1)进入 /home/redis-6.2.5/utils 目录
2)拷贝 启动脚本(redis_init_script) 文件到 /etc/init.d/ 目录下
# cp redis_init_script /etc/init.d/
3)进入 /etc/init.d/ 目录
# cd /etc/init.d/
4)修改启动脚本
# vi redis_init_script

2.7 启动redis
1)启动、停止redis命令
# /etc/init.d/redis_init_script start // 启动命令
# /etc/init.d/redis_init_script stop // 停止命令
2)设置开机自启redis
# chkconfig redis_init_script on
3)启动redis客户端
# redis-cli
> AUTH zhuifengren // 之前在配置文件中设置的密码
3、redis的基本使用
3.1 基本命令
1)获得key
keys *
keys a*
keys *b
2)获得key的类型
type name
3)获得key的剩余时间,-1代表永久
ttl name
4)设置key的过期时间,单位秒
expire name 30
5)切换数据库,默认16个库,下标是 0 到 15,默认使用 0
select 2
6)清空当前库的所有数据(慎用)
flushdb
7) 清空所有库的所有数据(慎用)
flushall
8)删除key
del name
del list2
3.2 string类型
1)设置值
set name zhangsan
set age 30
2)得到值
get name
get age
3)key不存在才设置值
setnx name lisi
4)设置值的同时设置过期时间
set name zhangsan ex 15
5)追加字符串
append name 666
6)查看字符串长度
strlen name
7)自增1,仅限数字
incr age
8)自减1,仅限数字
decr age
9)指定自增的数量,仅限数字
incrby age 11
10)指定自减数量,仅限数字
decrby age 11
11)截取字符串,1和5代表字符串的下标,-1代表取字符串的长度
getrange name 1 5
getrange name 1 -1
12)从某一位置开始替换字符串
setrange name 9 ccccc
13)设置多个键值
mset name1 zhangsan name2 lisi
14)得到多个键值
mget name1 name2
3.3 hash类型
1)设置hash值
hset user1 name zhangsan age 30
2)获得hash值的某个属性
hget user1 name
3)获得hash值的多个属性
hmget user1 name age
4)获得hash值的所有属性
hgetall user1
5)查看有多少个属性
hlen user1
6)列出所有key
hkeys user1
7)列出所有值
hvals user1
8)数值属性增长
hincrby user1 age 10
9)是否存在某属性
hexists user1 age
10)删除某个属性
hdel user1 age
3.4 list类型
1)从左侧存入数据
lpush list1 1 2 3 4 5
2)从右侧存入数据
rpush list2 1 2 3 4 5
3)查看数组值
lrange list1 0 -1
4)从左边拿出N个值,不设定拿出个数,默认是1
lpop list1 2
5)从右边拿出N个值,不设定拿出个数,默认是1
rpop list1 2
6)得到数组的长度
llen list1
7)获取数组下标的值,值不删
lindex list2 2
8)替换某下标的值
lset list2 2 10
9)在某值前插入一个新值
linsert list2 before 10 9
10)在某值后插入一个新值
linsert list2 after 10 11
11)删除N个相同的数据
lrem list2 2 10
12)截取元素,替换原来的数组
ltrim list2 2 3
3.5 set类型
1)添加set,会自动去重
sadd set1 a b c d e a b c
2)获取set中的所有元素
smembers set1
3)查看set中有多少个元素
scard set1
4)判断set中是否存在该元素
sismember set1 e
5)删除指定元素
srem set1 a
6)出栈N个元素
spop set1
7)随机展示N个元素,不从set中删除
srandmember set1
8)把一个set中的元素移动到另一个set中
smove set1 set2 e
9)计算差集
sdiff set1 set2
10)计算交集
sinter set1 set2
11)计算并集
sunion set1 set2
3.6 zset类型
1)添加元素 ,会自动去重
zadd zset1 10 zhangsan 20 lisi 30 wangwu
2)获取元素,会根据分数排序
zrange zset1 0 -1
3)获取元素,显示分数
zrange zset1 0 -1 withscores
4)获取元素的下标
zrank zset1 lisi
5)获得某一元素的分数
zscore zset1 lisi
6)得到zset中元素的个数
zcard zset1
7)统计分数在区间内的元素个数
zcount zset1 30 40
8)显示分数在区间内的元素,包括分数是 30 和 40 的元素
zrangebyscore zset1 30 40
9)显示分数在区间内的元素,数字前面加上左括号代表不包括分数是40的元素
zrangebyscore zset1 30 (40
10)显示分数在区间内的元素,带分页
zrangebyscore zset1 30 40 limit 1 2
11)删除zset的元素
zrem zset1 lisi
4、Redis与SpringBoot的整合
1)引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2)yml文件中配置redis
spring:
redis:
database: 1
host: 192.168.1.144
port: 6379
password: zhuifengren
3)测试redis
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class TestRedis { @Autowired
private RedisTemplate<String, String> redisTemplate; @Test
public void testSetString() {
redisTemplate.opsForValue().set("name", "zhangsan");
} }
5、综述
今天讲了关于Redis的一些知识。
希望大家多多评论交流,共同成长。
Redis的安装、基本使用以及与SpringBoot的整合的更多相关文章
- Redis哨兵机制的实现及与SpringBoot的整合
1. 概述 前面我们聊过Redis的读写分离机制,这个机制有个致命的弱点,就是主节点(Master)是个单点,如果主节点宕掉,整个Redis的写操作就无法进行服务了. 为了解决这个问题,就需要依靠&q ...
- Redis集群的搭建及与SpringBoot的整合
1.概述 之前聊了Redis的哨兵模式,哨兵模式解决了读的并发问题,也解决了Master节点单点的问题. 但随着系统越来越庞大,缓存的数据越来越多,服务器的内存容量又成了问题,需要水平扩容,此时哨兵模 ...
- Windows环境下springboot集成redis的安装与使用
一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...
- springBoot 官方整合的redis 使用教程:(StringRedisTemplate 方式存储 Object类型value)
前言:最近新项目准备用 redis 简单的缓存 一些查询信息,以便第二次查询效率高一点. 项目框架:springBoot.java.maven 说明:edis存储的数据类型,key一般都是Strin ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
- Linux下Redis的安装和部署
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
- 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中 ...
- Linux下Redis的安装与配置
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了 memcached的不足,它支持存储的value类型相对更多,包括stri ...
- [nosql之redis]yum安装redis
1.首先对于这种nosql来说目前我用到的功能很少,所以感觉没有必要去优化他跟不需要去编译安装.今天来介绍下一个yum安装redis 步骤1:安装扩展yum库 [root@localhost ~]# ...
随机推荐
- 论文笔记:(2019CVPR)PointConv: Deep Convolutional Networks on 3D Point Clouds
目录 摘要 一.前言 1.1直接获取3D数据的传感器 1.2为什么用3D数据 1.3目前遇到的困难 1.4现有的解决方法及存在的问题 二.本文idea 2.1 idea来源 2.2 初始思路 2.3 ...
- 点云上的深度学习及其在三维场景理解中的应用(PPT内容整理PointNet)
这篇博客主要是整理了PointNet提出者祁芮中台介绍PointNet.PointNet++.Frustum PointNets的PPT内容,内容包括如何将点云进行深度学习,如何设计新型的网络架构 ...
- 大数据学习(07)——Hadoop3.3高可用环境搭建
前面用了五篇文章来介绍Hadoop的相关模块,理论学完还得操作一把才能加深理解.这一篇我会花相当长的时间从环境搭建开始,到怎么在使用Hadoop,逐步介绍Hadoop的使用. 本篇分这么几段内容: 规 ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode206 反转链表,内含7种语言答案
206.反转链表 1.题目描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1-> ...
- 用 getchar putchar 来输入和接收 但是要清空缓冲区
1 //用 getchar putchar 来输入和接收 但是要清空缓冲区 2 3 #include <stdio.h> 4 int main() 5 { 6 char ch1,ch2; ...
- postman之get请求
get请求:
- 三年Android开发,竟只会增删改查,被面试官一顿怼!
最近看到某公司面试官发的这样一个帖子: 我面试了一个有三年Android开发经验的小伙子,也是我有史以来给别人面试时间最短的一次,不到十分钟就结束了,原因很简单,底子太差只会curd,很多技术性的问题 ...
- HDFS总结
hadoop分布式文件存储系统,用来解决海量数据的存储问题 HDFS的组成------核心配置文件:hdfs-site.xml.core-site.xml NameNode:负责整个HDFS集群的管理 ...
- dubbo学习实践(2)之Dubbo入门Demo
开篇之前,先来了解下dubbo服务治理与技术架构,直接看图 dubbo技术架构图: 1. 新建dubbo项目,目录结构如下 代码说明: 1.代码分为Provider(服务提供方)与consumer(服 ...
- 用notepad2代替notepad
Windows自带的notepad.exe功能比较弱,notepad2是一个比较好的替代方案,但在任何系统调用notepad的时候都能用notepad2代替并不是一件容易的事,下面是一个解决方法: h ...