大数据全系列 教程
1869个小节阅读:467.9k
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
String是Redis最基本的类型,一个key对应一个value。String是二进制安全的,意味着String可以包含任何数据,比如序列化对象或者一张图片。String最多可以放512M的数据。
用于设置给定 key 的值。如果 key 已经存储其他值, set 就重写旧值,且无视类型。
语法格式:
xxxxxxxxxx
set key value
示例:
xxxxxxxxxx
127.0.0.1:6379> set k1 v1
OK
用于获取指定 key 的值。如果 key 不存在,返回 nil 。
语法格式:
xxxxxxxxxx
get key
示例:
xxxxxxxxxx
127.0.0.1:6379> get k1
"v1"
将给定的value追加到key原值末尾。
语法格式:
xxxxxxxxxx
append key value
示例:
xxxxxxxxxx
127.0.0.1:6379> APPEND k1 k1
(integer) 4
127.0.0.1:6379> APPEND k1 k2
(integer) 6
注意:
- 如果 key 已经存在并且是一个字符串, append 命令将 value 追加到 key 原来的值的末尾。
- 如果 key 不存在, append 就简单地将给定 key 设为 value ,就像执行 set key value 一样。
获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
语法格式:
xxxxxxxxxx
strlen key
示例:
xxxxxxxxxx
127.0.0.1:6379> strlen k1
(integer) 6
给指定的 key 设置值及time 秒的过期时间。如果 key 已经存在, setex命令将会替换旧的值,并设置过期时间。
语法格式:
xxxxxxxxxx
setex key time value
示例:
xxxxxxxxxx
#向Redis中设置一个k1的键值对并且10秒后过期
127.0.0.1:6379> setex k1 10 v1
OK
只有在key不存在时设置key的值
语法格式:
xxxxxxxxxx
setnx key value
示例:
xxxxxxxxxx
127.0.0.1:6379> setnx k1 v1
(integer) 0
127.0.0.1:6379> setnx k4 v4
(integer) 1
获取指定区间范围内的值,类似between........and 的关系
语法格式:
xxxxxxxxxx
getrange key start end
示例:
xxxxxxxxxx
127.0.0.1:6379> set k5 abcd123xxx
OK
127.0.0.1:6379> getrange k5 2 4
"cd1"
获取指定区间范围内的值,类似between........and 的关系
语法结构:
xxxxxxxxxx
setrange key offset value
示例:
xxxxxxxxxx
127.0.0.1:6379> set k6 abcd1234
OK
127.0.0.1:6379> setrange k6 1 xxx
(integer) 8
127.0.0.1:6379> get k6
"axxx1234"
将 key 中储存的数字值增一。
语法格式:
xxxxxxxxxx
incr key
示例:
xxxxxxxxxx
#因为Redis中不存在k1,所以先初始化为0,再递增,值为1
127.0.0.1:6379> incr k1
(integer) 1
# incr k1 存在k1,递增后k1的值为2
127.0.0.1:6379> incr k1
(integer) 2
# 如果value不是数字就会报错
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379> INCR k2
(error) ERR value is not an integer or out of range
注意:
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 incr 操作。
- 如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。
将 key 中储存的数字值减一。
语法格式:
xxxxxxxxxx
decr key
示例:
xxxxxxxxxx
127.0.0.1:6379> decr k1
(integer) 1
127.0.0.1:6379> decr k1
(integer) 0
127.0.0.1:6379> decr k1
(integer) -1
127.0.0.1:6379> decr k1
(integer) -2
#如果
set k2 v2
decr k2 因为k2不为数值,Redis返回一个错误
注意:
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 decr 操作。
- 如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。
将key存储的数字值按照step进行增减。
xxxxxxxxxx
127.0.0.1:6379> incrby k1 10
(integer) 20
注意:
- 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 incrby/decrby 命令。
- 如字符串类型的值不能表示为数字、或者是其他类型,那么返回一个错误。
同时设置一个或多个 key-value 。
语法格式:
xxxxxxxxxx
mset key1 value1 key2 value2
示例:
xxxxxxxxxx
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
返回所有(一个或多个)给定 key 的值。
语法格式:
xxxxxxxxxx
mget key1 key2
示例:
xxxxxxxxxx
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
注意:
如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
将给定key值设为value,并返回key的旧值(old value),简单一句话(先get然后立即set)。
语法格式:
xxxxxxxxxx
getset key value
示例:
xxxxxxxxxx
127.0.0.1:6379> getset k1 wcc
"v1"
127.0.0.1:6379> get k1
"wcc"
value 除了是字符串以外还可以是数字。
1.Redis技术String数据类型中如何设置给定 key 的值。
A get
B append
C set
D mget
2. Redis技术String数据类型中如何只有在key不存在时设置key的值。
A get
B append
C setnx
D mget
1=>C 2=>C