Redis String常用操作

keys *
查看所有的key

flushdb
清空当前db

randomkey
返回数据库中的任意键

type
查看键的类型
127.0.0.1:6379> type vinc
string

set
语法:set key value
解释:把值value赋给key,如果key不存在,新增;否则,更新

setnx
语法:setnx key value
解释:只insert不update,即,仅仅key不存在时,则设置key的值为value,并返回1,否则返回0  。setnx 是set if not exists 的缩写

setex
语法: setex key seconds value
解释:设置key的过期时间和值。过期时间seconds单位是秒。设置过期时间和值是原子操作,如果redis仅仅当做缓存,这个很命令很有用。
127.0.0.1:6379> setex test 60 xxx
OK
127.0.0.1:6379> keys *
1) "test"
127.0.0.1:6379> get test
"xxx"
127.0.0.1:6379> ttl test
(integer) 53
可以看到剩余过期时间为53S

mset
语法:mset key value [key value …]
解释:同时设置多个key-value

get
语法:get key
解释:获取key所set的值

mget
语法: get key [key]
解释:批量获取key的值。程序一次获取多个值,可以减少网络连接损耗。

getset
语法:getset key value
解释:设置key的值,并返回key的旧值。
127.0.0.1:6379> get vinc
"hehe"
127.0.0.1:6379> getset vinc 666
"hehe"
127.0.0.1:6379> get vinc
"666"

append
语法:append key value
解释:key存在,在旧值的后面追加value;key不存在,直接set
127.0.0.1:6379> get vinc
"666"
127.0.0.1:6379> APPEND vinc hehe
(integer) 7
127.0.0.1:6379> get vinc
"666hehe"

setrange
语法:setrange key offset value
解释:用value重写key值的一部分,偏移量由offset指定
127.0.0.1:6379> get vinc
"666hehe"
127.0.0.1:6379> SETRANGE vinc 0 888
(integer) 7
127.0.0.1:6379> get vinc
"888hehe"

incr
语法:incr key
解释:key中如果存储的是数字,则可以通过incr递增key的值,返回递增后的值。如果key不能存在,视为初始值为0
127.0.0.1:6379> get int
"0"
127.0.0.1:6379> INCR int
(integer) 1

incrby
语法:incrby key increment
解释:用指定的步长增加key存储的数字。如果步长increment是负数,则减
127.0.0.1:6379> get int
"1"
127.0.0.1:6379> INCRBY int 5
(integer) 6

decr
语法:decr key
解释:递减key保存的数字,如果key不存在,初始值视为0
127.0.0.1:6379> get int
"6"
127.0.0.1:6379> DECR int 
(integer) 5

decrby
语法:decrby key decrement
解释:用指定的步长递减key的值,如果步长decrment是负值,则递增
127.0.0.1:6379> get int
"5"
127.0.0.1:6379> decrby int 4
(integer) 1

strlen
语法:strlen key
解释:获取key中所存储值的长度
127.0.0.1:6379> STRLEN vinc
(integer) 7
127.0.0.1:6379> get vinc
"888hehe"

exists
语法:exists key
解释:判断该键是否存在
127.0.0.1:6379> EXISTS vinc
(integer) 1
127.0.0.1:6379> EXISTS vincxx
(integer) 0

expire 
语法:expire key secend
解释:设置该键的超时时间
127.0.0.1:6379> EXPIRE vinc 30
(integer) 1

ttl
语法:ttl key
解释:查看该键的过期时间
127.0.0.1:6379> ttl vinc
(integer) -1
如果该键不会过期则返回-1
127.0.0.1:6379> ttl xxx
(integer) -2
如果键值不存在则返回-2
127.0.0.1:6379> EXPIRE vinc 30
(integer) 1
127.0.0.1:6379> ttl vinc
(integer) 18
可以看到还能生存18S

persist
语法:persist key
解释:将存在超时的键改为持久化的键
127.0.0.1:6379> ttl vinc 
(integer) 55
127.0.0.1:6379> PERSIST vinc
(integer) 1
127.0.0.1:6379> ttl vinc 
(integer) -1

del
语法:del key [key]
解释:删除指定的key,返回删除key的个数