Redis-String

 

简介

string是redis最基本的类型,可以理解成与Memcached一模一样的类型,一个key对于一个value。

 

 

string类型是二进制安全的。也就是可以包含任何数据,比如jpg图片或者序列化对象。

 

 

string类型是Redis最基本的数据类型,string类型的值最大能存储512MB

 

set、get(设置、查询指定key的值)

127.0.0.1:6379> set name ike 
OK 
127.0.0.1:6379> get name                  
"ike"

getrange、setrange(返回、修改 key中字符串指定索引范围的值)

127.0.0.1:6379> getrange name 0 1        // 查询索引从0到1的值
"ik" 
127.0.0.1:6379> setrange name 0 lu        // 从索引0开始修改
(integer) 4
127.0.0.1:6379> get name
"luke"    

getset(修改指定key的值,并返回该key的原值)

127.0.0.1:6379> getset name luke		
"ike"
127.0.0.1:6379> get name
"luke"

setnx(为指定key设置value,如果key不存在则成功,存在则失败)

127.0.0.1:6379> setnx name luke
(integer) 1
127.0.0.1:6379> setnx name ike
(integer) 0
127.0.0.1:6379> get name
"luke"

getbit、setbit(查询、修改指定偏移量上的位)

  • 返回值:字符串指定偏移量上的位(bit)。
  • 操作偏移量时通过索引进行修改查询,索引从0开始。
127.0.0.1:6379> exists name                  // 判断key是否存在,返回 0 1
(integer) 1
127.0.0.1:6379> getbit name 10000              // 当偏移量比字符串值的长度大,或者key不存在时,返回 0。
(integer) 0
127.0.0.1:6379> setbit name 1 0                   // 修改索引为 1 的值为 0
(integer) 1								
127.0.0.1:6379> get name				// 查看修改后的value			
")ke"
// 原值的二进制   01101001 01101011 01100101
// 修改后的二进制  00101001 01101011 01100101

mset、mget(设置、查询多个指定key的值,不存在返回null)

127.0.0.1:6379> mset key1 hello key2 world
OK
127.0.0.1:6379> mget key1 key2 key3
1) "hello"
2) "world"
3) (nil)

msetnx(当给定key都不存在时,同时设置一个或多个key value对)

  • 返回值:当所有key都成功设置返回1,如果设置失败(有一个key存在则失败)返回0。
127.0.0.1:6379> msetnx key1 1 key3 3
(integer) 0
127.0.0.1:6379> mget key1 key3
1) "hello"
2) (nil)
127.0.0.1:6379> msetnx key3 3 key4 4
(integer) 1
127.0.0.1:6379> mget key3 key4
1) "3"
2) "4"

setex 、psetex(为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值)

  • setex:以秒为单位
  • psetex:以毫秒为单位
127.0.0.1:6379> setex name 10 ike    // 设置key为name 过期时间为10s value为ike
OK
127.0.0.1:6379> ttl name          // 查看过期时间 
(integer) 5
127.0.0.1:6379> get name               //  到期key被删除
(nil)            
127.0.0.1:6379> psetex name 10000 looo // 1000毫秒(10s)后删除
OK

strlen(返回指定key的长度,当key存储的不是字符串时返回错误、不存在返回0)

127.0.0.1:6379> strlen name
(integer) 4

incr、incrby(对存储的数字进行增操作)

  • 只能操作数字类型,如果不为数字则报错。
  • 本操作的值限制在 64 位(bit)有符号数字表示之内。
  • 返回值:为修改后的值。
  • incr:对值进行加1操作,如果key不存在,则key会被设置初始值为0,然后在执行incr操作。
  • incrby:对指定key进行增减操作,如果key不存在时,则设置初始值为0,在执行incrby操作。
127.0.0.1:6379> set age 18		// 设置的值必须为数字否则报错
OK
127.0.0.1:6379> incr age		// age自增1后值为19
(integer) 19
127.0.0.1:6379> incr age1		// key不存在则创建并执行incr操作。
(integer) 1
127.0.0.1:6379> incrby age -1       // 减1操作
(integer) 18
127.0.0.1:6379> incrby age2 5       // key不存在设置初始值再+5
(integer) 5

decr、decrby(对指定值进行减操作)

127.0.0.1:6379> decr age   	 			// 减1操作
(integer) 17
127.0.0.1:6379> decrby age 5			// 减5
(integer) 12

incrbyfloat(对指定key进行浮点数增减操作)

  • key不存在会设置初始值再操作、能对float、int进行操作。
127.0.0.1:6379> incrbyfloat float -0.1  
"1.4"
127.0.0.1:6379> incrbyfloat float 0.1
"1.5"

append(为指定的key追加值,当key不存在时则新建一个)

127.0.0.1:6379> append name boy
(integer) 6
127.0.0.1:6379> get name
"ikeboy"

 

posted @ 2020-05-20 20:48  TrumpC  阅读(51)  评论(0)    收藏  举报