目录

​​一、官方文档​​

​​二、Redis-Key基本命令​​

​​1、存数据​​

​​格式:​​

​​演示:​​

​​2、取数据​​

​​格式:​​

​​演示:​​

​​3、查看所有key​​

​​格式:​​

​​演示:​​

​​4、查询一个key是否存在​​

​​格式:​​

​​演示:​​

​​5、移除一个key(一般不这么用)​​

​​格式:​​

​​演示:​​

​​6、使一个key在一段时间后过期​​

​​格式:​​

​​演示:​​

​​7、判断key的数据类型​​

​​格式:​​

​​演示:​​

​​8、Redis命令学习文档​​

​​三、String字符串类型详解​​

​​1、为字符串追加内容​​

​​格式:​​

​​演示:​​

​​2、获取字符串长度​​

​​格式:​​

​​演示:​​

​​3、自增1操作​​

​​格式:​​

​​演示:​​

​​4、设置自增步长​​

​​格式:​​

​​演示:​​

​​5、自减1操作​​

​​格式:​​

​​演示:​​

​​6、设置自减步长​​

​​格式:​​

​​演示:​​

​​7、字符串范围(截取字符串)​​

​​格式:​​

​​演示:​​

​​8、替换字符串​​

​​格式:​​

​​演示:​​

​​9、设置过期时间​​

​​格式:​​

​​演示:​​

​​10、不存在则进行设置​​

​​格式:​​

​​演示:​​

​​11、批量设置​​

​​格式:​​

​​演示:​​

​​12、批量获取​​

​​格式:​​

​​演示:​​

​​13、批量设置之如果不存在则设置​​

​​格式:​​

​​演示:​​

​​14、set和get对象​​

​​格式:​​

​​演示:​​

​​15、getset​​

​​格式:​​

​​演示:​​

​​16、String类型的使用场景​​

​​四、List列表类型详解​​

​​1、概述​​

​​骚操作:​​

​​2、添加值​​

​​格式:​​

​​演示:​​

​​3、获取值​​

​​格式:​​

​​演示:​​

​​4、另一种添加值​​

​​格式:​​

​​演示:​​

​​5、移除一个元素​​

​​格式:​​

​​演示:​​

​​6、通过下标获取值​​

​​格式:​​

​​演示:​​

​​7、获取list的长度​​

​​格式:​​

​​演示:​​

​​8、移除指定的值​​

​​格式:​​

​​演示:​​

​​9、截取列表​​

​​格式:​​

​​演示:​​

​​10、将列表的最后一个元素移动到另一个列表内​​

​​格式:​​

​​演示:​​

​​11、修改指定位置的值​​

​​格式:​​

​​演示:​​

​​12、判断一个列表是否存在​​

​​格式:​​

​​演示:​​

​​13、在指定元素(值)前后插入元素(值)​​

​​格式:​​

​​演示:​​

​​14、总结​​


一、官方文档

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库高速缓存消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区;

 

二、Redis-Key基本命令

1、存数据

格式:

set key value

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis

 

2、取数据

格式:

get key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_02

 

3、查看所有key

格式:

keys *

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_03

 

4、查询一个key是否存在

格式:

exists key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_04

 

5、移除一个key(一般不这么用)

格式:

move key 1

# 1代表当前数据库

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_05

 

6、使一个key在一段时间后过期

格式:

expire key 秒数

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_06

 

7、判断key的数据类型

格式:

type key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_07

 

8、Redis命令学习文档

​https://www.redis.net.cn/order/​

 

三、String字符串类型详解

90%的Java程序员使用Redis只会使用String类型;

1、为字符串追加内容

格式:

append key value

# 如果当前key不存在,就相当于set key value

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_08

 

2、获取字符串长度

格式:

strlen key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_获取值_09

 

3、自增1操作

格式:

incr key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_10

 

4、设置自增步长

格式:

incrby key 步长

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_11

 

5、自减1操作

格式:

decr key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_12

 

6、设置自减步长

格式:

decrby key 步长

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_13

 

7、字符串范围(截取字符串)

格式:

getrange key x y

# x和y是下标

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_14

 

8、替换字符串

格式:

setrange key x value

# x是下标

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_15

 

9、设置过期时间

格式:

setex key 秒数 value

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_16

 

10、不存在则进行设置

格式:

setnx key value

# 在分布式锁中常用

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_17

 

11、批量设置

格式:

mset k1 v1 k2 v2 k3 v3 。。。以此类推即可

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_18

 

12、批量获取

格式:

mget k1 k2 k3 ... 以此类推即可

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_获取值_19

 

13、批量设置之如果不存在则设置

格式:

msetnx k1 v1 k2 v2 k3 v3 。。。以此类推即可

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_20

 

14、set和get对象

格式:

mset 对象名:id:属性名 value

# 对象名:id:属性名 相当于是一个key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_21

 

15、getset

格式:

getset key value

# 先get 再set

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_获取值_22

 

16、String类型的使用场景

value可以是字符串,也可以是数字,常用于:

  • 计数器;
  • 统计多单位数量;
  •  

 

四、List列表类型详解

1、概述

是基本的数据类型,列表;

所有的list命令都是以l开头的;

Redis命令不区分大小写;

 

骚操作:

在Redis里面,我们可以把list玩成栈、队列、阻塞队列;

 

2、添加值

格式:

lpush key value1 value2 value3 value4 。。。 以此类推即可

# 先存的 在后面

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_23

 

3、获取值

格式:

lrange key x y

# x和y是下标;

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_24

 

4、另一种添加值

格式:

rpush key value1 value2 value3 value4 。。。 以此类推即可

# 先存的 在前面

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_25

 

5、移除一个元素

格式:

# 从左边移除一个元素

lpop key

# 从右边移除一个元素

rpop key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_26

 

6、通过下标获取值

格式:

lindex key x

# x是下标

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_27

 

7、获取list的长度

格式:

llen key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_获取值_28

 

8、移除指定的值

格式:

lrem key x value

# x指的是要移除的数量

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_29

 

9、截取列表

格式:

ltrim key x y 

# x和y是下标

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_30

 

10、将列表的最后一个元素移动到另一个列表内

格式:

rpoplpush key1 key2

# key1原列表,key2目标列表;

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_Redis_31

 

11、修改指定位置的值

格式:

lset key index value

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_获取值_32

 

12、判断一个列表是否存在

格式:

exists key

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_字符串_33

 

13、在指定元素(值)前后插入元素(值)

格式:

linsert key before value1 value2

# value1指的是参照元素,value2指的是要插入的元素

演示:

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表_redis_34

 

14、总结

list实际上是一个链表,before Node after,left,right都可以插入;

如果key不存在,会创建新的链表;

如果key存在,新增内容;

如果移除了所有的值,空链表,也代表不存在;

在两遍插入和改变值效率最高,操作中间元素效率低;

可以作为消息队列(lpush rpop),栈(lpush lpop);