Redis数据库系列之一

目录

 

exists

type

rename

renamenx

move

del

randomkey

dbsize

keys


exists

1.语法
exists key
2.解析
检查给定的key是否存在。
3.返回值
若key存在返回1,否则返回0
4.示例

set lan php
exists lan
del lan
exists lan

type

1.语法
type key
2.解析
返回key所储存的值的类型
3.返回值
none(key不存在)
string(字符串)
list(列表)
set(集合)
zset(有序集)
hash(哈希表)
stream(流)
4.例子

#字符串
set lan php
type lan
#列表
lpush food milk
type food
#集合
sadd pat "dog"
type pat

rename

1.语法
rename key newkey
2.解析
将key改名为newkey.
当key和newkey相同,或者key不存在时,返回一个错误。
当newkey已经存在时,rename命令将覆盖旧值。
3.返回值
改名成功时提示OK,失败时返回一个错误。
4.例子

#key存在且newkey不存在
set m hello
rename m l
exists m
exists l
#当key不存在,返回错误
rename k l
#newkey已经存在 rename会覆盖旧newkey
set m "hello"
set l "world"
rename m l
get m //返回(nil)
get l //返回"hello"

renamenx

1.语法
renamenx key newkey
2.解析
当且仅当newkey不存在时,将key改名为newkey.
当key不存在时,返回一个错误。
3.返回值
修改成功时,返回1;如果newkey已经存在,返回0
4.例子

#newkey不存在 改名成功
set m "hello"
exists l
rename m l
#newkey存在时,失败
set m "hello"
set l "world"
renamenx m l
get m
get l


move

1.语法
move key db
2.解析
将当前数据库的key移动到给定的数据库db当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在与当前的数据库,那么move没有任何效果。
因此,也可以利用这一特性,将move当做锁原语。
3.返回值
移动成功返回1,失败则返回0.
4.例子

#key存在于当前数据库(有效果)
select 0
set m "hello world"
move m 1
exists m
select 1
exists m
#当key不存在的时候(无效果)
exists l
move l 0
select 0
exists l
#当数据库和目标数据库有相同的key时(无效果)
select 0
set m "hello world"
select 1
set m "hello php"
select 0
move m 1
get m
select 1
get m


del

1.语法
del key [key...]
2.解析
删除给定的一个或多个key.
不存在的key忽略。
3.返回值
被删除的key的数量
4.例子

#删除单个key
set m "hello"
del m
#删除一个不存在的key
exists l
del l
#同时删除多个key
set h "php"
set k "redis"
del h k

randomkey

1.语法
randomkey
2.解析
从当前数据库中随机返回(不删除)一个key.
3.返回值
当数据库不为空,返回一个key.当数据库为空时,返回nil.
4.例子

#数据库不为空
mset name sunny age 30 sex 1
randomkey
randomkey
keys *
#数据库为空
flushdb
randomkey

dbsize

1.语法
dbsize
2.解析
返回当前数据库的key的数量
3.返回值
当前数据库key的数量
4.例子

set m "hello"
dbsize

keys

1.语法
keys pattern
2.解析
查找所有符合给定模式pattern的key,比如:
keys * 匹配数据库中所有key
keys h?llo 匹配hello hallo等(匹配一个)
keys h*llo 匹配hllo、hello、heeello(匹配大于等于零个)
keys h[ae]llo匹配hello、hallo,不匹配hillo(匹配指定字符中的一个)
:特殊符号用\隔开。
警告:keys的速度非常快,但在一个大的数据库中使用可能会造成性能问题,如果你需要从一个数据集中查找特定的key,
最好还是使用redis集合结构(set)来代替。
3.返回值
符合给定模式的key列表。
4.例子

mset php 1 redis 2 nginx 3
keys *h*
keys p??
keys n[g]*
keys *

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值