设置值
set key value [ex seconds] [px milliseconds] [nx|xx]
EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value 。
PX milliseconds : 将键的过期时间设置为 milliseconds 毫秒。 执行 SET key value PX milliseconds 的效果等同于执行 PSETEX key milliseconds value 。
NX : 只在键不存在时, 才对键进行设置操作。 执行 SET key value NX 的效果等同于执行 SETNX key value 。
XX : 只在键已经存在时, 才对键进行设置操作。
Example:
set hello hello
set hello "hello world"
set hello "hello world" ex 1000
set hello "hello world" nx
Test:
以上多次进行set,如果没有跟nx,则会默认进行替换为新值
获取值
get key
批量设置值
mset key value [key value ...]
批量获取值
mget key [key ...]
计数
incr key //自增
- 如果值不是整数,返回错误
- 值是整数,返回自增后的结果
- 键不存在,按照值为0自增,返回1
decr key //自减
incrby //自增指定数字
decrby //自减指定数字
incrbyfloat //自增浮点数
删除
del key [key ...]
如果不存在,则 SET
SETNX key value[]
可用版本: >= 1.0.0
时间复杂度: O(1)
只在键 key
不存在的情况下, 将键 key
的值设置为 value
。
若键 key
已经存在, 则 SETNX
命令不做任何动作。
SETNX
是『SET if Not eXists』(如果不存在,则 SET)的简写。
TEST:
- setnx h1 11 //(integer) 1
- setnx h1 22 //(integer) 0
- get h1 //11
无论是否存在,设置值和失效时间
SETEX key seconds value
将键 key 的值设置为 value , 并将键 key 的生存时间设置为 seconds 秒钟。
如果键 key 已经存在, 那么 SETEX 命令将覆盖已有的值。
该命令等同下面2个命令
SET key value
EXPIRE key seconds # 设置生存时间
不常用命令
append key value //可以向字符尾部追加值
strlen key //计算字符串长度,每个中文占3个字符接,英文占1个
getset key //设置并返回原值,注意是原来的设置,而不是新设置的值
设置指定位置的字符,偏移量从0开始计算
setrange key offeset value
- set hello world
- setrange hello 1 cc //wccld,redis 会自动往前推进行覆盖设置
获取部分字符串,偏移量从0开始计算,含end值
getrange key start end
网友评论