【Redis】Redis十大类型

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印


前言

redis是k-v键值对进行存储,key的类型都是字符串,而数据类型是value的数据类型

Tip:命令不区分大小写,而key的值是区分大小写的

Key常用命令

keys *  		//当前库的所有key
exists key      //判断某个key是否存在,可以同时判断多个key,返回几就是存在几个
type key        //查看你的key是什么类型

// 删除
del key         //是原子操作,删除指定的key数据
unlink key      //常用于多线程时,非阻塞删除,仅仅将keys从keyspace元数据中删除,没真正的删除,会在后续异步中操作

// 过期时间
ttl key         // 查看还有多少秒过期 -1表示永不过期 -2 表示已过期
expire key 秒    // 给key设置过期时间

// 数据库操作
move key dbindex [0-15]   // 将当前数据库的key移动到指定的数据库中  redis默认是有16个数据库的
select dbindex [0-15]   // 切换数据库[0-15],默认为0
dbsize   			// 查看当前数据库key的数量

flushdb         		// 清空当前库
flushall 			// 清空16个数据库 慎用

help @+数据类型 会出现命令提示 比如 help @string
在这里插入图片描述


一、string字符串类型

  • string是redis最基本的类型,一个key对应一个value。
  • string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
  • string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M

1. set命令

// 常用命令
set key value [NX|XX][GET][EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTLJ

// 设置过期时间,秒为单位
set key1 value1 EX 3 // 过期时间为3秒

// 设置键存在时的键值(即覆盖作用),并返回原来的值
set key1 value2 get

// 将key1进行修改时,继续使用之前的过期时间(因为默认修改时是直接设置为永不过期了)
set key1 value1 keepttl // 过期时间为3秒

SET命令有NX、XX、EX、PX以及KEEPTTL五个可选参数,

  • NX:键不存在的时候设置键值(NX可以理解为not exit)
  • XX:键存在的时候设置键值
  • GET:返回指定键原本的值,若键不存在时返回nil
  • EX seconds:以秒为单位设置过期时间
  • PX milliseconds:以毫秒为单位设置过期时间
  • EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
  • PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
  • KEEPTTL:保留设置前指定键的生存时间

2. mset同时设置多个键值对

MSET [key1] [value1] [key2] [value2] [key3] [value3]  // 同时设置一个或多个键值对
MGET [key1] [key2] [key3]  // 同时获取多个key的值
MSETNX [key1] [value1] [key2] [value2]  // 同时设置一个或多个 key-value 对  必须保证key都不存在才能成功

3. 获取键的指定区间的值

GETRANGE [key] 0 -1  // 获取这个key的值的全部
GETRANGE [key] 0 2   // 获取这个key的值索引0到索引2之间的值
SETRANGE [key] 1 xxx  // 设置指定区间范围内的值

// 获取key1的0-3的值,类似于获取字符串的子字符串
getrange key1 0 3

// 将key1从1索引开始设置为aayy
setrange key1 aayy

4. 数值增减
key键对应的value类型必须为数字

INCR [key]    // 递增数字 +1
INCRBY [key] [increment]   // 增加指定的整数  +increment 
DECR [key]  

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值