本实例以Redis 4.0.1 为例,来演示使用Redis命令对字符串类型数据的操作。
SET 设置操作数据
1. 语法格式
设置数据,如果key存在就会覆盖
1
| set key value [EX seconds] [PX milliseconds] [NX|XX]
|
2.可选参数
EX seconds -- 设置过期时间,单位秒
PX milliseconds -- 设置过期时间,单位毫秒
NX -- 只当key不在时候才设置
XX -- 知当key存在时候才设置
3.返回值
设置成功会返回"OK",否则会返回"nil"
4.示例
1 2
| 127.0.0.1:6379>set hello wolrd "OK"
|
GET 查询数据###
1. 语法格式
2.返回值
返回"key"所对应的"value",如果不存在则会返回"nil"。
3.示例
1 2
| 127.0.0.1:6379> get hello "wolrd"
|
MGET 查询多条数据###
1. 语法格式
2.返回值
指定键值的列表。
3.示例
1 2 3 4 5 6 7
| 127.0.0.1:6379> set a b OK 127.0.0.1:6379> set 1 2 OK 127.0.0.1:6379> mget a 1 1) "b" 2) "2"
|
SETNX 不覆盖设置###
1. 语法格式
setnx 是SET if Not eXists的缩写,及当key不存在的时候才会设置
2.返回值
如果设置成功返回"1",不成功返回"0"
3.示例
1 2 3 4
| 127.0.0.1:6379> setnx hello world (integer) 0 127.0.0.1:6379> setnx hi wolrd (integer) 1
|
SETEX 设置数据的有效期###
1. 语法格式
此方法和直接设置set key value ex xxx是一样的效果,单位秒
2.返回值
设置成功会返回"OK"
3.示例
1 2 3 4 5 6
| 127.0.0.1:6379> setex hi 10 wolrd OK 127.0.0.1:6379> ttl hi (integer) 8 127.0.0.1:6379> get hi "wolrd"
|
PSETEX 设置数据的有效期###
1. 语法格式
此方法和SETEX 是一样的效果,只是单位是毫秒
1
| psetex key milliseconds value
|
2.返回值
设置成功会返回"OK"
3.示例
1 2 3 4
| 127.0.0.1:6379> psetex hi-redis 10000 hi-dev OK 127.0.0.1:6379> pttl hi-redis (integer) 7305
|
MSET 设置多个key和value###
1. 语法格式
同时设置多个数据,与set方法类似,如果key存在就会覆盖。
1
| mset key value [key value ...]
|
2.返回值
设置成功会返回"OK"
3.示例
1 2 3 4 5 6 7 8
| 127.0.0.1:6379> mset hello1 world1 hello2 wolrd2 hello3 wolrd3 OK 127.0.0.1:6379> get hello1 "world1" 127.0.0.1:6379> get hello2 "wolrd2" 127.0.0.1:6379> get hello3 "wolrd3"
|
MSETNX 不覆盖设置多个key和value###
1. 语法格式
同时设置多个数据,与setnx方法类似,如果key存在就不会覆盖。
1
| msetnx key value [key value ...]
|
2.返回值
如果所有都设置成功则返回"1",如果有一个没有设置成功则返回"0"
3.示例
1 2 3 4 5 6 7 8 9 10 11 12
| 127.0.0.1:6379> msetnx hello3 wolrd3-new hello4 wolrd4 (integer) 0 127.0.0.1:6379> msetnx hello5 wolrd5 hello6 wolrd6 (integer) 1 127.0.0.1:6379> get hello3 "wolrd3" 127.0.0.1:6379> get hello4 (nil) 127.0.0.1:6379> get hello5 "wolrd5" 127.0.0.1:6379> get hello6 "wolrd6"
|
APPEND 追加内容###
1. 语法格式
如果key存在则会在value后面追加内容,如果不存在则会设置一条新的key和value数据
2.返回值
追加操作后的字符串长度。
3.示例
1 2 3 4 5 6 7 8 9 10
| 127.0.0.1:6379> exists nihao (integer) 0 127.0.0.1:6379> append nihao redis (integer) 5 127.0.0.1:6379> get nihao "redis" 127.0.0.1:6379> append nihao 4 (integer) 6 127.0.0.1:6379> get nihao "redis4"
|
STRLEN 获取数据的长度###
1. 语法格式
根据key获取value的长度,返回存储在value的字符串值的长度。
2.返回值
如果key存在则返回value的长度,如果不存在则返回"0"
3.示例
1 2 3 4 5 6 7 8
| 127.0.0.1:6379> get nihao "redis4" 127.0.0.1:6379> strlen nihao (integer) 6 127.0.0.1:6379> exists nihao2 (integer) 0 127.0.0.1:6379> strlen nihao2 (integer) 0
|
DEL 删除指定的数据###
1. 语法格式
删除指定的键。 如果不存在,则忽略该键。
2.返回值
移除多少个value
3.示例
1 2 3 4
| 127.0.0.1:6379> exists hello1 hello2 hello8 (integer) 2 127.0.0.1:6379> del hello1 hello2 hello8 (integer) 2
|
GETSET 替换数据###
1. 语法格式
将新的key对应的value替换原来key对应的value
2.返回值
返回原来key对应的value,如果原来key不存在,则返回"nil"
3.示例
1 2 3 4 5 6 7 8
| 127.0.0.1:6379> getset a b (nil) 127.0.0.1:6379> get a "b" 127.0.0.1:6379> getset a c "b" 127.0.0.1:6379> get a "c"
|
GETRANGE 范围取值###
1. 语法格式
根据给定的范围获取字符串的值,起始和结尾都是闭区间,下标以0开始。
2.返回值
返回截取的字符串的值,如果不存在则返回空""
3.示例
1 2 3 4 5 6
| 127.0.0.1:6379> set mystr hello-wolrd OK 127.0.0.1:6379> getrange mystr 0 3 "hell" 127.0.0.1:6379> getrange mystr 0 -1 "hello-wolrd"
|
SETRANGE 范围替换###
1. 语法格式
根据给定起始值,开始进行替换
1
| setrange key offset value
|
2.返回值
该命令修改后的字符串的长度。
3.示例
1 2 3 4 5 6
| 127.0.0.1:6379> set mystr hello-world OK 127.0.0.1:6379> setrange mystr 3 redis (integer) 11 127.0.0.1:6379> get mystr "helredisrld"
|
Author:
Darren Du
License:
Copyright (c) 2019 MIT LICENSE