4.Redis 数据类型之一:String

zhanglei 2022年07月23日 340次浏览

4.Redis 数据类型之一:String

常见的命令

127.0.0.1:6379> set name zhanglei # 设置值
OK                             
127.0.0.1:6379> get name          #获取值
"zhanglei"
127.0.0.1:6379> keys *            # 获取所有的 key
1) "name"
127.0.0.1:6379> dbsize            #获得当前数据库的key的个数     
(integer) 1
127.0.0.1:6379> exists name       # 判断某个key值是否存在
(integer) 1
127.0.0.1:6379> append name Love  # 追加字符串    
(integer) 12
127.0.0.1:6379> get name
"zhangleiLove"
127.0.0.1:6379> strlen name      #strlen key 获取value的长度
(integer) 12
127.0.0.1:6379> substr name 0 4  # substr key start end 
								 # 截取部分字符串
"zhang"
127.0.0.1:6379> 
#########################################################

 # incr key 自加1
 # incrby key step 自加步长
 # decr key 自减1
 # decrby key step 自减步长
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> incr views        # incr key 自加1
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> incrby views 3    # incrby key step 自加步长
(integer) 5
127.0.0.1:6379> incrby views 3
(integer) 8
127.0.0.1:6379> decr views        # decr key 自减1
(integer) 7
127.0.0.1:6379> decr views
(integer) 6
127.0.0.1:6379> decrby views 3    # decrby key step 自减步长
(integer) 3
127.0.0.1:6379> 
##########################################################

# setex(set with expire)   设置过期时间
# setnx(set if not exist)  不存在时设置 在分布式锁中会使用
127.0.0.1:6379> flushall
OK
#setex name seconds key
127.0.0.1:6379> setex name 10 zhanglei 
OK
127.0.0.1:6379> ttl name
(integer) 7
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> setnx name zhanglei  #如果 name不存在 创建
# 创建成功就返回1
(integer) 1
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> setnx name zhanglei  #如果 name 存在 不创建
# 创建失败就返回1,说明已经存在key
(integer) 0
127.0.0.1:6379> 
##########################################################

# mset key1 value1 key2 value2... 批量设置
# mget key1 key2 key3            批量获取
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> mset k1 v1 k2 v2  # 同时获取多个值
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
127.0.0.1:6379> mget k1
1) "v1"
127.0.0.1:6379> mget k1 k2        # 同时获取多个值
1) "v1"
2) "v2"
127.0.0.1:6379> msetnx k1 v1 k4 v4 # msetnx具有原子性
(integer) 0
127.0.0.1:6379> 
###########################################################