概述

string是redis最常用的数据类型,一般用于key-value缓存项设置。

redis没有int和float类型,就算存的是数值,也是以string类型记录

127.0.0.1:6379[4]> set age 30
OK
127.0.0.1:6379[4]> TYPE age
string

Key-Value

设置指定key的值

127.0.0.1:6379[4]> set name xiaoming
OK
127.0.0.1:6379[4]> get name
"xiaoming"

STRLEN

  • 说明:获取key对应value的长度
  • 格式:STRLEN key
127.0.0.1:6379[4]> set name xiaoming
OK
127.0.0.1:6379[4]> STRLEN name
(integer) 8

GETRANGE

  • 说明:截取字符串
  • 格式:GETRANGE key start end
  • 注意:start下标从0开始计算
127.0.0.1:6379[4]> set title abcdefghijklmn
OK
127.0.0.1:6379[4]> GETRANGE title 1 3
"bcd"

SETRANGE

  • 说明:从start下标开始替换字符串
  • 格式:SETRANGE key start value
  • 注意:由value长度决定替换的字符数
127.0.0.1:6379[4]> set name xiaoming
OK
127.0.0.1:6379[4]> SETRANGE name 4 dong
(integer) 8
127.0.0.1:6379[4]> get name
"xiaodong"
127.0.0.1:6379[4]> SETRANGE name 4 a
(integer) 8
127.0.0.1:6379[4]> get name
"xiaoaong"

APPEND

  • 说明:追加内容
  • 格式:APPEND key value
127.0.0.1:6379[4]> set name xiaoming
OK
127.0.0.1:6379[4]> APPEND name " hello!"
(integer) 15
127.0.0.1:6379[4]> get name
"xiaoming hello!"

GETSET

  • 说明:类似set命令,设置一个key-value,但是返回的是旧的value
  • 格式:GETSET key value
127.0.0.1:6379[4]> GETSET name xiaoming
(nil)
127.0.0.1:6379[4]> GETSET name dong
"xiaoming"

MGET

  • 说明:获取一个或多个key的值
  • 格式:MGET key1 key2 key3
127.0.0.1:6379[4]> MGET name age
1) "dong"
2) "33"

MSET

  • 说明:设置一个或多个key-value
  • 格式:MSET key1 value1 key2 value2 key3 value3
127.0.0.1:6379[4]> MSET key1 abc key2 xyz key3 haha
OK
127.0.0.1:6379[4]> keys *
1) "key1"
2) "key3"
3) "key2"

SETEX

  • 说明:设置key-value,并且携带过期时间
  • 格式:SETEX key expire value
  • expire:单位秒
127.0.0.1:6379[4]> SETEX name 60 xiaoming
OK
127.0.0.1:6379[4]> ttl name  #查看剩余时间
(integer) 24

SETNX

  • 说明:设置key-value,key不存在时才生效,key存在则忽略
  • 格式:SETEX key expire value
127.0.0.1:6379[4]> SETNX name xiaoming
(integer) 1
127.0.0.1:6379[4]> SETNX name dong
(integer) 0
127.0.0.1:6379[4]> get name
"xiaoming"

MSETNX

  • 说明:同时设置一个或多个key-value,当key不存在才生效
  • 格式:MSETNX key1 value1 key2 value2 key3 value3
  • 注意:该命令具有原子性,设置的所有key都不存在才会生效。哪怕其中1个key已存在,都会导致设置失败
127.0.0.1:6379[4]> set key1 abc
OK
127.0.0.1:6379[4]> MSETNX key1 aaa key2 xyz
(integer) 0
127.0.0.1:6379[4]> keys *
1) "key1"

INCR/INCRBY

INCR

  • 说明:将key存储的数字加1
  • 格式:INCR key

INCRBY

  • 说明:将key存储的数字加上指定的数值
  • 格式:INCRBY key increment
127.0.0.1:6379[4]> SET age 20
OK
127.0.0.1:6379[4]> INCR age
(integer) 21
127.0.0.1:6379[4]> INCRBY age 5
(integer) 26

DECR/DECRBY

将key的值递减,与INCR、INCRBY同理

posted on 2020-08-07 17:39  风停了,雨来了  阅读(110)  评论(0)    收藏  举报