博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis简单学习3-redis常用命令总结
阅读量:6251 次
发布时间:2019-06-22

本文共 5944 字,大约阅读时间需要 19 分钟。

hot3.png

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 不存在返回

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 redis-2.2.12]# 

dbsize

返回当前数据库中key的数目 

redis 127.0.0.1:6379> dbsize 
(integer) 18 
结果说明此库中有18key 

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)
:移动当前数据库中的keydbindex数据库
    flushdb
:删除当前选择数据库中的所有key
    flushall
:删除所有数据库中的所有key
    
    5
String
    set(key, value)
:给数据库中名称为keystring赋予值value
    get(key)
:返回数据库中名称为keystringvalue
    getset(key, value)
:给名称为keystring赋予上一次的value
    mget(key1, key2,…, key N)
:返回库中多个stringvalue
    setnx(key, value)
:添加string,名称为key,值为value
    setex(key, time, value)
:向库中添加string,设定过期时间time
    mset(key N, value N)
:批量设置多个string的值
    msetnx(key N, value N)
:如果所有名称为key istring都不存在
    incr(key)
:名称为keystring1操作
    incrby(key, integer)
:名称为keystring增加integer
    decr(key)
:名称为keystring1操作
    decrby(key, integer)
:名称为keystring减少integer
    append(key, value)
:名称为keystring的值附加value
    substr(key, start, end)
:返回名称为keystringvalue的子串
    
    6
List 
    rpush(key, value)
:在名称为keylist尾添加一个值为value的元素
    lpush(key, value)
:在名称为keylist头添加一个值为value 元素
    llen(key)
:返回名称为keylist的长度
    lrange(key, start, end)
:返回名称为keyliststartend之间的元素
    ltrim(key, start, end)
:截取名称为keylist
    lindex(key, index)
:返回名称为keylistindex位置的元素
    lset(key, index, value)
:给名称为keylistindex位置的元素赋值
    lrem(key, count, value)
:删除countkeylist中值为value的元素
    lpop(key)
:返回并删除名称为keylist中的首元素
    rpop(key)
:返回并删除名称为keylist中的尾元素
    blpop(key1, key2,… key N, timeout)
lpop命令的block版本。
    brpop(key1, key2,… key N, timeout)
rpopblock版本。
    rpoplpush(srckey, dstkey)
:返回并删除名称为srckeylist的尾元素,

1.                   并将该元素添加到名称为dstkeylist的头部

    
    7Set
    sadd(key, member)
:向名称为keyset中添加元素member
    srem(key, member)
:删除名称为keyset中的元素member
    spop(key)
:随机返回并删除名称为keyset中一个元素
    smove(srckey, dstkey, member)
:移到集合元素
    scard(key)
:返回名称为keyset的基数
    sismember(key, member)
member是否是名称为keyset的元素
    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)
:返回名称为keyset的所有元素
    srandmember(key)
:随机返回名称为keyset的一个元素
    
    8
Hash
    hset(key, field, value)
:向名称为keyhash中添加元素field
    hget(key, field)
:返回名称为keyhashfield对应的value
    hmget(key, (fields))
:返回名称为keyhashfield i对应的value
    hmset(key, (fields))
:向名称为keyhash中添加元素field 
    hincrby(key, field, integer)
:将名称为keyhashfieldvalue增加integer
    hexists(key, field)
:名称为keyhash中是否存在键为field的域
    hdel(key, field)
:删除名称为keyhash中键为field的域
    hlen(key)
:返回名称为keyhash中元素个数
    hkeys(key)
:返回名称为keyhash中所有键
    hvals(key)
:返回名称为keyhash中所有键对应的value
    hgetall(key)
:返回名称为keyhash中所有的键(field)及其对应的value

转载于:https://my.oschina.net/hanchao/blog/357153

你可能感兴趣的文章
dl,dt,dd的用法
查看>>
外面的世界很精彩,然而等待你的人却可能已不在
查看>>
成为一名阿里P7Java架构师需要的技术准备(转载)
查看>>
华为oj 挑7
查看>>
【吴恩达机器学习】学习笔记——1.5无监督学习
查看>>
使用pjax实现类似github无刷新更改页面url
查看>>
移动端头部meta
查看>>
回溯法
查看>>
iOS常用宏定义
查看>>
memcached(一)--前言
查看>>
【转】各种排序算法时间复杂度和空间复杂度表
查看>>
Redis客户端集群
查看>>
EF异常:WebForm、Console、Winform层不引入EF报错
查看>>
System系统类常用方法
查看>>
15:开发Rsync服务启动脚本案例
查看>>
uva 1592(NEERC 2009 STL)
查看>>
Xqk.Data数据框架使用说明之:使用Xqk.Data的一般步骤
查看>>
makefile
查看>>
C#数据类型
查看>>
HDU_3172_带权并查集
查看>>