【项目实践】公寓租赁项目(七):SpringBoot与Redis整合的快速入门使用(1)

一、Redis概述

1.Redis定义:

Redis,全称为(Remote Dictionary Server),是一个基于内存的键值对存储系统,常用作缓存服务。

2.Redis特点:

①高性能:Redis主要将数据存储在内存中,因此读写速度非常快,适合对速度有较高要求的场景。

②支持多种数据结构:Redis中键值对的值(Value)支持多种数据结构,如字符串、哈希表、列表、集合等,这使得它可以应用于多种不同的场景。

③持久化:Redis可以通过定期快照或者实时记录写操作日志的方式将内存中的数据持久化到硬盘,确保数据在重启后不会丢失。

④灵活的数据过期策略:可以为每个键设置过期时间,一旦过期,Redis会自动删除。

3.Redis应用场景

最常见的应用场景就是用作于缓存,可以提升访问的速度,降低数据库的压力。比如说储存用户的登录信息,就可以存储到redis中,这样就可以降低浏览器本地存储的压力,提升访问速度。


二、Redis客户端

启动客户端:

redis-cli -h 127.0.0.1 -p 6376

  • -h <hostname> 用于声明Redis服务器的主机名或者ip地址,默认值为127.0.0.1。
  • -p <port> 用于声明Redis服务器监听的端口号,默认值为6379。

测试连接状态:

若连接成功则返回pong。

[root@server01 ~]# redis-cli ping
PONG

三、Redis常用数据类型和命令

1.通用命令

1.1 查看所有键

语法:keys pattern

说明pattern用于匹配key,其中*表示任意个任意字符,?表示一个任意字符。

127.0.0.1:6379> keys *
 1) "s4"
 2) "s3"
 3) "key4"


1.2 查看键的总数

语法:dbsize


1.3 判断键是否存在

如果key存在返回1,不存在则返回0。

语法:exists key


1.4 删除键

可以同时删除多个键,返回值为删除键的个数,若删除一个不存在的键,则返回0。

语法:del key [key ...]


1.5 查询键的剩余过期时间

ttl的含义为time to live,用于查询一个定时键的剩余时间,返回值以秒为单位。若查询的键为设置过期时间,则返回-1,若查询的键不存在,则返回-2.

语法:ttl key


1.6 数据库管理命令

切换数据库:Redis默认有编号为0~15的16个逻辑数据库,每个数据库之间的数据是相互独立的,所有连接默认使用的都是0号数据库。

语法:select index


2. 常见的类型

2.1 string类型

概述:Redis中的string类型保存的是字节序列(Sequence of bytes),因此任意类型的数据,只要经过序列化之后都可以保存到Redis的string类型中,包括文本、数字甚至是一个对象。

常用命令
set

set命令用于添加string类型的键值对。

语法:set key value [NX | XX] [EX seconds|PX milliseconds]

各选项含义如下

  • NX:仅在key不存在时set

  • XX:仅在key存在时set

  • EX seconds:设置过期时间,单位为秒

  • PX milliseconds:设置过期时间,单位为毫秒


get

get命令用于获取某个string类型的键对应的值

语法:GET key


incr

incr命令用于对数值做自增操作。

语法:INCR key

若key对应的value是整数,则返回自增后的结果,若不是整数则报错,若key不存在则创建并返回1。


decr

decr命令用于对数值做自减操作。

语法:DECR key

若key对应的value是整数,则返回自减后的结果,若不是整数则报错,若key不存在则创建并返回-1。


应用场景:

string类型常用于缓存、计数器等场景。


2.2 list类型

概述:list类型可用于存储多个string类型的元素,并且所有元素按照被添加的顺序存储。

常用命令
添加元素:

①lpush

该命令用于向list左侧添加元素。

语法:lpush key element [element ...]

示例:lpush li a b c

②rpush

该命令用于向list右侧添加元素。

语法:rpush key element [element ...]

③linsert

该命令用于向list指定位置添加元素。

语法:linsert key before|after pivot element

示例:linsert l1 after b new


查询元素:
①lindex

index从左到右为正值,依次是0,1,2...,从右到左为负值依次是-1,-2,-3...

语法:lindex key index

②lrange

语法:lrange key start stop

获取全部元素示例:lrange l1 0 -1


删除元素

① lpop

该命令用于移除并返回list左侧元素,count参数表示移除元素的个数。

语法:lpop key [count]

② rpop

该命令用于移除并返回list右侧的元素。

语法:rpop key [count]

③ lrem

该命令用于移除list中的指定元素。

语法:lrem key count element

说明:count参数表示要移除element元素的个数(list中可以存在多个相同的元素),count的用法如下

  • 若count>0,则从左到右删除最多count个element元素

  • 若count<0,则从右到左删除最多count(的绝对值)个element元素

  • 若count=0,则删除所有的element元素


修改元素
lset

命令可用于修改指定索引位置的元素。

语法:lset key index element


其他
llen

用于查看list长度。

语法:llen key


应用场景
  • 社交应用中,可使用list缓存每个用户发布的最新的N条记录。

  • list可用作异步消息队列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值