注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

0与1构筑世界,程序员创造时代

软件架构设计 Java编程

 
 
 

日志

 
 

Redis命令指南 | Redis Command Guide  

2014-08-22 18:36:18|  分类: Redis |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Redis是一个基于BSD协议,开源且免费的Key=>Value存储产品(NoSQL),与Memcached相比,功能更加丰富:
1、支持List, Set, Hash等集合的操作。
2、支持数据持久化(默认开启)。
3、支持事务。
4、支持发布/订阅功能。
5、支持执行Lua脚本。
6、另外,还有人把它当作队列使用。如:logstash就默认把redis当作队列服务器。

命令概述

根据命令的作用对象,把它们分类成:通用类、字符串操作类、数字操作类、集合操作类、列表操作类、哈希操作类、发布/订阅操作类、连接操作类、服务管理类。
把常用的Redis命令分类整理成思维导图,如下:

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

命令行连接方式

1、可以使用telnet的方式远程连接Redis:

telnet 192.168.56.102 6379

Trying 192.168.56.102…
Connected to 192.168.56.102 (192.168.56.102).
Escape character is ‘^]’.

2、如果是在Redis安装的服务器上,可以直接执行bin目录下的redis-cli应用:

./redis-cli

127.0.0.1:6379>

字符串(String)命令使用示例

1、将字符串Hello, Redis!存储到指定的Key(key-hello)。

set key-hello "Hello, Redis!"

+OK

2、获取Key(key-hello)中存储的值。

get key-hello

$13
Hello, Redis!

3、将字符串This is an append string追加到Key(key-hello)中存储的值的末尾。

append key-hello "This is an append string"

:37

get key-hello

$37
Hello, Redis!This is an append string

4、获取Key(key-hello)中存储的值(字符串)的长度。

strlen key-hello

:37

数字(Number)命令使用示例

1、将整数1存储到指定的Key(key-int)。

set key-int 1

+OK

2、将Key(key-int)中的值加1。

incr key-int

:2

3、将Key(key-int)中的值加7。

incrby key-int 7

:9

4、将Key(key-int)中的值减1。

decr key-int

:8

5、将Key(key-int)中的值减7。

decrby key-int 7

:1

集合(Set)命令使用示例

1、将四个元素存储到Key(key-set)中。

sadd key-set element-1 element2 hello redis

:4

2、获取Key(key-set)中存储的元素数量。

scard key-set

:4

3、获取Key(key-set)中存储的元素列表。

smembers key-set

*4
$5
hello
$5
redis
$8
element2
$9
element-1

4、从Key(key-set)中删除并获取其中的一个元素。

spop key-set

$8
element2

5、从Key(key-set)中删除指定的元素。

srem key-set hello

:1

smembers key-set

*2
$5
redis
$9
element-1

列表(List)命令使用示例

1、将5个元素存储到Key(key-list)中。

lpush key-list abc hello go redis "this is a string"

:5

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

2、将索引编号为1的元素替换成字符串insert-1。

lset key-list 1 insert-1

+OK

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代
llen key-list

:5

3、从队列左边出队一个元素。

lpop key-list

$16
this is a string

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

4、从队列右边出队一个元素。

rpop key-list

$3
abc

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

5、从队列右边再出队一个元素。

rpop key-list

$5
hello

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

6、从队列左边再出队一个元素。

lpop key-list

$8
insert-1

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

哈希(Hash)命令使用示例

1、将1个元素存储到哈希列表中。

hset key-hash field-1 one

:1

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

2、将4个元素批量存储到哈希列表中。

hmset key-hash field-2 two field-3 three field-4 four field-5 five

+OK

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

3、获取哈希列表中的key列表。

hkeys key-hash

*5
$7
field-1
$7
field-2
$7
field-3
$7
field-4
$7
field-5

4、获取哈希列表中的值列表。

hvals key-hash

*5
$3
one
$3
two
$5
three
$4
four
$4
five

5、获取哈希列表中指定key的值。

hget key-hash field-3

$5
three

6、批量获取哈希列表中指定key的值。

hmget key-hash field-1 field-5

*2
$3
one
$4
five

7、获取哈希列表中所有的键值对。

hgetall key-hash

*10
$7
field-1
$3
one
$7
field-2
$3
two
$7
field-3
$5
three
$7
field-4
$4
four
$7
field-5
$4
five

8、获取哈希列表中键值对的数量。

hlen key-hash

:5

9、删除哈希列表中指定key的键值对。

hdel key-hash field-4 field-5

:2

Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代

发布/订阅(Publish/Subscribe)命令使用示例

1、在一个客户端用subscribe命令订阅渠道ch-one。
2、另一个客户端用publish命令连续向渠道ch-one发布了三条消息。
3、订阅了ch-one渠道的客户端接收到三条消息。

发布 订阅
Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代
 
Redis命令指南 - 傲风 - 0与1构筑世界,程序员创造时代
 

服务管理(Server)命令使用示例

1、查看连接到Redis的客户端信息。

client list

$718
addr=127.0.0.1:40165 fd=6 name= age=24524 idle=24477 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=info
addr=127.0.0.1:60394 fd=5 name= age=3410 idle=1543 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=publish
addr=127.0.0.1:53840 fd=7 name= age=1653 idle=641 flags=N db=0 sub=1 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=subscribe
addr=127.0.0.1:47668 fd=8 name= age=64 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
addr=192.168.56.101:2992 fd=9 name= age=12 idle=8 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get


<正文结束> 


文章声明


作者:傲风(aofengblog@163.com)       编写时间:2014年08月22日

网址:http://aofengblog.blog.163.com

作者保留所有权利,转载请保留文章全部内容或者说明原作者和转载地址!

  评论这张
 
阅读(2153)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017