Redis 常用命令篇(末尾含不常用)

设置值

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

你可能感兴趣的:(Redis 常用命令篇(末尾含不常用))