2019独角兽企业重金招聘Python工程师标准>>>
1.键值相关的命令
keys
返回满足给定pattern的所有key
表达式* 代表取出所有的key
redis 127.0.0.1:6379> keys *
1) "myzset2"
2) "myzset3"
3) "mylist"
4) "myset2"
5) "myset3"
6) "myset4"
7) "k_zs_1"
keys prefix_* // 查看前缀为"prefix_"的所有keys
exists
确认一个key是否存在 存在返回1 不存在返回0
redis 127.0.0.1:6379> exists name
(integer) 0
redis 127.0.0.1:6379> exists age
(integer) 1
del
删除一个key
redis 127.0.0.1:6379> del age
(integer) 1
redis 127.0.0.1:6379> exists age
(integer) 0
expire
设置一个key的过期时间
在本例中,我们设置addr这个key的过期时间是10秒
然后我们不断的用ttl来获取这个key的有效时长,直至为-1
说明此值已过期
redis 127.0.0.1:6379> expire addr 10
(integer) 1
redis 127.0.0.1:6379> ttl addr
(integer) 8
redis 127.0.0.1:6379> ttl addr
(integer) 1
redis 127.0.0.1:6379> ttl addr
(integer) -1
move
将当前数据库中的key转移到其它数据库中
数据库有16个,从0-15
select 0 表示选择第0个数据库,默认的就是第0个数据库
redis 127.0.0.1:6379> select 0
redis 127.0.0.1:6379> set age 20
redis 127.0.0.1:6379> get age
1) "20"
redis 127.0.0.1:6379> move age 1
redis 127.0.0.1:6379> get age
(nil)
redis 127.0.0.1:6379> select 1
redis 127.0.0.1:6379> get age
1) "20"
redis 127.0.0.1:6379> select 0
persist
移除给定key的过期时间 结果中的-1代表取消过期时间,而不是已经过期
redis 127.0.0.1:6379> expire age 300
(integer) 1
redis 127.0.0.1:6379> ttl age
(integer) 294
redis 127.0.0.1:6379> persist age
(integer) 1
redis 127.0.0.1:6379> ttl age
(integer) -1
randomkey
随机返回key空间的一个key
redis 127.0.0.1:6379> randomkey
"mylist7"
redis 127.0.0.1:6379> randomkey
"mylist5"
rename
重命名key
redis 127.0.0.1:6379> keys *
1) "age"
redis 127.0.0.1:6379> rename age age_new
OK
redis 127.0.0.1:6379> keys *
1) "age_new"
type
返回值的类型
redis 127.0.0.1:6379> type addr
string
redis 127.0.0.1:6379> type myzset2
zset
redis 127.0.0.1:6379> type mylist
list
2.服务器相关命令
ping
测试连接是否存活
该案例 第一个ping时,说明此连接正常
第二个ping之前,将redis服务器停止,那么ping是失败的
第三个ping之前,将redis服务器启动,那么ping是成功的
redis 127.0.0.1:6379> ping
PONG
redis 127.0.0.1:6379> ping
Could not connect to Redis at 127.0.0.1:6379:Connect refused
not connected>ping
PONG
redis 127.0.0.1:6379>
echo
在命令行打印一些内容
redis 127.0.0.1:6379> echo lijie
"lijie"
select
选择数据库 redis数据库编号从0-15
我们可以选择任意一个数据库来进行数据的存取
redis 127.0.0.1:6379> select 1
ok
redis 127.0.0.1:6379[1]> select 16
(error) ERR invalid DB index
redis 127.0.0.1:6379[16]>
当选择16时,报错,说明没有编号为16的这个数据库
quit
退出连接
redis 127.0.0.1:6379> quit
[root@localhost redis-2.2.12]#
dbsize
返回当前数据库中key的数目
redis 127.0.0.1:6379> dbsize
(integer) 18
结果说明此库中有18个key
info
获取服务器的信息和统计
config get
实时传储收到的请求
redis 127.0.0.1:6379> config get addr
1) "dir"
2) "/root/4setup/redis-2.2.12"
本例中我们获取了dir这个参数配置的值
如果想获取全部参数的配置值,只需要执行 config get *,即可将全部的值都显示出来
flushdb
删除当前选择数据库中的所有key
redis 127.0.0.1:6379> dbsize
(integer) 18
redis 127.0.0.1:6379> flushdb
ok
redis 127.0.0.1:6379> dbsize
(integer) 0
在本例中我们将0号数据库中的key都清除了
flushall
删除所有数据库中的所有key
在本例中先查看了一个1号数据库中有一个key
然后切换到0号数据库执行flushall命令
结果1号库中的key也清除了
redis 127.0.0.1:6379[1]> dbsize
(integer) 1
redis 127.0.0.1:6379[1]> select 0
ok
redis 127.0.0.1:6379> flushall
ok
redis 127.0.0.1:6379> dbsize
(integer) 0
redis 127.0.0.1:6379> select 1
ok
redis 127.0.0.1:6379[1]> dbsize
(integer) 0
修改redis.conf文件可以改变数据库的数量 : databases 160
连接其他的redis数据库
./redis-cli –h 10.10.52.141 –p 6379
3.常用的命令总结
1)连接操作命令
quit:关闭连接(connection)
auth:简单密码认证
help cmd: 查看cmd帮助,例如:help quit
2)持久化
save:将数据同步保存到磁盘
bgsave:将数据异步保存到磁盘
lastsave:返回上次成功将数据保存到磁盘的Unix时戳
shundown:将数据同步保存到磁盘,然后关闭服务
3)远程服务控制
info:提供服务器的信息和统计
monitor:实时转储收到的请求
slaveof:改变复制策略设置
config:在运行时配置Redis服务器
4)对value操作的命令
exists(key):确认一个key是否存在
del(key):删除一个key
type(key):返回值的类型
keys(pattern):返回满足给定pattern的所有key
randomkey:随机返回key空间的一个
keyrename(oldname, newname):重命名key
dbsize:返回当前数据库中key的数目
expire:设定一个key的活动时间(s)
ttl:获得一个key的活动时间
select(index):按索引查询
move(key, dbindex):移动当前数据库中的key到dbindex数据库
flushdb:删除当前选择数据库中的所有key
flushall:删除所有数据库中的所有key
5)String
set(key, value):给数据库中名称为key的string赋予值value
get(key):返回数据库中名称为key的string的value
getset(key, value):给名称为key的string赋予上一次的value
mget(key1, key2,…, key N):返回库中多个string的value
setnx(key, value):添加string,名称为key,值为value
setex(key, time, value):向库中添加string,设定过期时间time
mset(key N, value N):批量设置多个string的值
msetnx(key N, value N):如果所有名称为key i的string都不存在
incr(key):名称为key的string增1操作
incrby(key, integer):名称为key的string增加integer
decr(key):名称为key的string减1操作
decrby(key, integer):名称为key的string减少integer
append(key, value):名称为key的string的值附加value
substr(key, start, end):返回名称为key的string的value的子串
6)List
rpush(key, value):在名称为key的list尾添加一个值为value的元素
lpush(key, value):在名称为key的list头添加一个值为value的 元素
llen(key):返回名称为key的list的长度
lrange(key, start, end):返回名称为key的list中start至end之间的元素
ltrim(key, start, end):截取名称为key的list
lindex(key, index):返回名称为key的list中index位置的元素
lset(key, index, value):给名称为key的list中index位置的元素赋值
lrem(key, count, value):删除count个key的list中值为value的元素
lpop(key):返回并删除名称为key的list中的首元素
rpop(key):返回并删除名称为key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
brpop(key1, key2,… key N, timeout):rpop的block版本。
rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,
1. 并将该元素添加到名称为dstkey的list的头部
7)Set
sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素
8)Hash
hset(key, field, value):向名称为key的hash中添加元素field
hget(key, field):返回名称为key的hash中field对应的value
hmget(key, (fields)):返回名称为key的hash中field i对应的value
hmset(key, (fields)):向名称为key的hash中添加元素field
hincrby(key, field, integer):将名称为key的hash中field的value增加integer
hexists(key, field):名称为key的hash中是否存在键为field的域
hdel(key, field):删除名称为key的hash中键为field的域
hlen(key):返回名称为key的hash中元素个数
hkeys(key):返回名称为key的hash中所有键
hvals(key):返回名称为key的hash中所有键对应的value
hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value