Redis入门(1)——Redis是啥 & 安装Docker的Redis & Redis的基本数据类型+常用命令 & SpringBoot整合Redis初步

最后

笔者已经把面试题和答案整理成了面试专题文档

image

image

image

image

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

在这里插入图片描述

3.运行容器

[root@192 ~]# docker run -itd --name=redis_6379 -p 6379:6379 redis

在这里插入图片描述

4.进入容器–>进入redis

docker exec -it redis_6379 bash
redis-cli

在这里插入图片描述

在这里插入图片描述

redis的基本数据类型

在这里插入图片描述

字符串(string)

序列命令描述
1set key value设置指定 key 的值
2get key获取指定 key 的值。
3mget key1 key2 … keyn获取所有(一个或多个)给定 key 的值。
4setnx key value只有在 key 不存在时设置 key 的值。
5strlen key返回 key 所储存的字符串值的长度。
6incr key将 key 中储存的数字值增一。
7decr key将 key 中储存的数字值减一。
[root@localhost ~]# docker ps |grep redis
5d04e3abf91f        redis                "docker-entrypoint..."   7 days ago          Up 3 days           0.0.0.0:6379->6379/tcp                                     redis_6379
[root@localhost ~]# docker exec -it redis_6379 bash
root@5d04e3abf91f:/data# redis-cli
127.0.0.1:6379> keys \*
1) "dress"
2) "tom\_bank"
3) "weather"
4) "username"
5) "goods"
6) "mycar"
7) "book"
127.0.0.1:6379> setnx fruits apple
(integer) 1
127.0.0.1:6379> get fruits
"apple"
127.0.0.1:6379>

在这里插入图片描述

列表(list)

可以重复

序列命令描述
1llen key获取列表长度
2lpush key value1… value2将一个或多个值插入到列表头部
3lpop key移出并获取列表的第一个元素
4lrange key start stop获取列表指定范围内的元素
5lrem key count value移除列表元素
6rpush key value1… value2尾部添加
7rpop key [count]尾部移除[count]元素
127.0.0.1:6379> lpush fruits apple peach
(integer) 2
127.0.0.1:6379> lrange fruits 0 3
1) "peach"
2) "apple"
127.0.0.1:6379> rpush fruits orange
(integer) 3
127.0.0.1:6379> lrange fruits 0 3
1) "peach"
2) "apple"
3) "orange"
127.0.0.1:6379> 

在这里插入图片描述

在这里插入图片描述

集合(set)

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

序列命令描述
1sadd key member1… member2向集合添加一个或多个成员
2scard key获取集合的成员数
3smemebers key返回集合中的所有成员
4sismember key member判断member元素是否是集合key的成员
5spop key移除并返回集合中的一个随机元素
127.0.0.1:6379> sadd fruits apple apple orange
(integer) 2
127.0.0.1:6379> smembers fruits
1) "orange"
2) "apple"
127.0.0.1:6379> 

在这里插入图片描述

有序集合(sorted set)

序列命令描述
1zadd key score1 member1… score2 member2向有序集合添加一个或多个成员,或者更新已存在成员的分数
2zcard key获取集合的成员数
3zcount key min max计算在有序集合中指定区间分数的成员数
4zrangebylenx key min max[limit offset count]通过字典区间返回有序集合的成员
5zrem key member1 member2移除有序集合中的一个或多个成员
6ZREMRANGEBYSCORE key min max移除有序集合中给定的分数区间的所有成员
7zscore key member返回有序集中,成员的分数值
127.0.0.1:6379> zadd stu 3 peter 8 shirley
(integer) 2
127.0.0.1:6379> zrange stu 0 10
1) "peter"
2) "shirley"
127.0.0.1:6379> zadd stu 6 mary
(integer) 1
127.0.0.1:6379> zrange stu 0 10
1) "peter"
2) "mary"
3) "shirley"
127.0.0.1:6379> 

在这里插入图片描述

哈希表(hash)【重要】

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

序列命令描述
1hdel key field1 field2… fieldn删除一个或多个哈希表字段
2hexists key field查看哈希表 key 中,指定的字段是否存在
3hget key field获取存储在哈希表中指定字段的值
4hgetall key获取在哈希表中指定 key 的所有字段和值
5hincrby key field increment为哈希表 key 中的指定字段的整数值加上增量 increment
6hkeys key获取所有哈希表中的字段(field)
7hlen key获取哈希表中字段的数量
8hmget key field1 field2获取所有给定字段的值
9hset key field value将哈希表 key 中的字段 field 的值设为 value 。
10hsetnx key field value只有在字段 field 不存在时,设置哈希表字段的值。
11hvals key获取哈希表中所有值

在这里插入图片描述

127.0.0.1:6379> hset stu name wm grand 4
(integer) 2
127.0.0.1:6379> hget stu name
"wm"
127.0.0.1:6379> 

在这里插入图片描述

在这里插入图片描述

判断某个查看哈希表 key 中,指定的字段是否存在

127.0.0.1:6379> hexists book amount
(integer) 1
127.0.0.1:6379> hexists book amount123
(integer) 0
127.0.0.1:6379> 

获取字段的值,进行减一操作

127.0.0.1:6379> hget book amount
"3"
127.0.0.1:6379> hincrby book amount -1
(integer) 2
127.0.0.1:6379> hget book amount
"2"
127.0.0.1:6379> 

redis常用命令

在这里插入图片描述

序列命令描述
1del key删除 key
2exists key检查给定 key 是否存在。
3expire key seconds为给定 key 设置过期时间。
4pexpire key millisencondskey 的过期时间以毫秒计。
5keys pattern查找所有符合给定模式( pattern)的 key 。(*)
6ttl key以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
7type key返回 key 所储存的值的类型。
127.0.0.1:6379> set uuid pet
OK
127.0.0.1:6379> expire uuid 10
(integer) 1
127.0.0.1:6379> get uuid
"pet"
127.0.0.1:6379> get uuid
(nil)
127.0.0.1:6379> 

在这里插入图片描述

在这里插入图片描述

可以用在验证码中,10s后过期,失效

在这里插入图片描述

springBoot整合redis

1.添加依赖的包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tianju</groupId>
    <artifactId>springboot_redis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>


    <!-- 起步依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.13</version>


### 最后

![](https://img-blog.csdnimg.cn/img_convert/cb03f07ca46af55c37feb5a810de6ff8.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/5a259899f022a4e9ba56f9f13dfdd980.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/b04b866a935860c232c1134d43f13c11.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/80e31c40336bd334ec8d4dace0461393.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/724634721694057d10b3ad143333a82a.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/c12da505dafa45447f9a08c7eebc7976.webp?x-oss-process=image/format,png)


由于篇幅原因,就不多做展示了


> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

715462424718)]

[外链图片转存中...(img-71P12j1t-1715462424719)]

[外链图片转存中...(img-hrVEs3Ci-1715462424719)]

[外链图片转存中...(img-WXVgTWKc-1715462424720)]


由于篇幅原因,就不多做展示了


> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

**[需要这份系统化的资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值