“本节主要介绍Redis的基础命令 ”
linux软件-Redis(三)
Reids命令
一、Redis常规命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| [root@node2 ~]# redis-cli -h 192.168.109.54 -p 6379
192.168.109.54:6379> set myname "berry" #插入一条记录
OK
192.168.109.54:6379> get myname #获取myname key的值
"berry"
192.168.109.54:6379> set foo bar
OK
192.168.109.54:6379> get foo
"bar"
192.168.109.54:6379> keys * #查看所有key
1) "myname"
2) "foo"
|
二、键的遵循
- 可以使用ASCII字符
- 键的长度不要过长,键的长度越长则消耗的空间越多
- 在同一个库中(名称空间),键的名称不得重复,如果复制键的名称,实际上是修改键中的值
- 在不同的库中(名称空间),键的同一个名称可以重复
- 键可以实现自动过期
三、Redis命令详解
1、set
| SET key value [expiration EX seconds |
PX milliseconds] [NX |
XX] |
命令 键 值 [EX 过期时间,单位秒]
NX:如果一个键不存在,才创建并设定值,否则不允许设定
XX:如果一个键存在则设置建的值,如果不存在则不创建并不设置其值
示例:
1
2
3
4
5
6
7
8
9
10
| 192.168.109.54:6379> set cjk aaa
OK
192.168.109.54:6379> set cjk bbb NX
(nil) #反回提示一个没能执行的操作
192.168.109.54:6379> get cjk
"aaa"
192.168.109.54:6379> set foo abc XX #设置foo key值,foo之前存在
OK #修改成功
192.168.109.54:6379> get foo
"abc"
|
2、get
1
2
3
4
| GET key
summary: Get the value of a key
since: 1.0.0
group: string
|
3、APPEND
1
2
3
4
| APPEND key value
summary: Append a value to a key
since: 2.0.0
group: string
|
示例:
1
2
3
4
5
| append添加键中的值(在原有键中附加值的内容):
192.168.109.54:6379> append cjk fda
(integer) 6
192.168.109.54:6379> get cjk
"aaafda"
|
4、获取指定键中的值的字符串的长度
1
2
| 192.168.109.54:6379> strlen cjk
(integer) 6
|
5、删除键
1
2
3
4
| 192.168.109.54:6379> del cjk
(integer) 1
192.168.109.54:6379> get cjk
(nil)
|
四、列表的操作
键指向一个列表,而列表可以理解为是一个字符串的容器,列表是有众多元素组成的集合,可以在键所指向的列表中附加一个值
- LPUSH //在键所指向的列表前面插入一个值(左边加入)
- RPUSH //在键所指向的列表后面附加一个值(右边加入)
- LPOP //在键所指向的列表前面弹出一个值(左边弹出)
- RPOP //在键所指向的列表后面弹出一个值(右边弹出)
- LINDEX //根据索引获取值,指明索引位置进行获取对应的值
- LSET //用于修改指定索引的值为指定的值
1、创建一个列表
创建一个新的列表,在帮助中并没产明哪个命令用于创建一个新的列表,实际上创建一个新的列表使用LPUSH或RPUSH都可以。
1
2
3
4
5
6
7
| lpush ll cjk # ll为列表名称,cjk为值
(integer) 1
lindex ll 0 #第一个索引(值)则为0
"cjk"
|
2、在原有的列表中的左侧加入一个值
1
2
3
4
5
6
| 192.168.1.11:6379> lpush ll fda #在原有的列表中的左侧加入一个值
(integer) 2
192.168.1.11:6379> lindex ll 0
"fda"
192.168.1.11:6379> lindex ll 1
"cjk"
|
3、在原有的列表中的右侧加入一个值
1
2
3
4
5
6
7
8
| 192.168.1.11:6379> rpush ll www
(integer) 3
192.168.1.11:6379> lindex ll 2
"www"
192.168.1.11:6379> lindex ll 1
"cjk"
192.168.1.11:6379> lindex ll 0
"fda"
|
4、修改一个已有的列表中的值
1
2
3
4
| 192.168.1.11:6379> lset ll 0 abc
OK
192.168.1.11:6379> lindex ll 0
"abc"
|
5、查看列表中的值的数量
1
2
| 192.168.1.11:6379> llen ll
(integer) 3
|
6、在已有的列表中右侧弹出(删除)一个值
1
2
| 192.168.1.11:6379> rpop ll
"www"
|
7、在已有的列表中左侧弹出(删除)一个值
1
2
3
4
5
6
| 192.168.1.11:6379> lpop ll
"abc"
192.168.1.11:6379> lpop ll
"cjk"
192.168.1.11:6379> lpop ll
(nil)
|
8、清空数据库
1
2
3
4
| FLUSHDB:删除当前选择的数据库所有key
FLUSHALL:清空所有库
192.168.1.11:6379> flushdb
OK
|
五、type查看 key 的数据类型
数据类型有:
- none (key不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
1
2
3
| 192.168.1.11:6379> set myname "zhenglincong"
192.168.1.11:6379> type myname #查看key的数据查看类型
string #字符串
|
1
2
3
4
| 192.168.1.11:6379> lpush book_list "programming in scala" #插入一个列表
(integer) 1
192.168.1.11:6379> type book_list
list #列表
|
1
2
3
4
| 192.168.1.11:6379> sadd myset "hello" #插入一个集合
(integer) 1
192.168.1.11:6379> sadd myset "foo" "world"
(integer) 2
|
注:Redis Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。
1
2
3
4
5
6
| 192.168.1.11:6379> smembers myset
1) "foo"
2) "world"
3) "hello"
192.168.1.11:6379> type myset
set
|
六、Pexpireat设置 key 的过期时间以毫秒计
Redis PEXPIREAT 命令用于设置 key 的过期时间,以毫秒计。key 过期后将不再可用。
实例:
1
2
3
4
5
6
7
8
9
| #首先创建一个 key 并赋值:
192.168.1.11:6379> set w3 redis #创建一条记录
OK
192.168.1.11:6379> PEXPIREAT w3 10000 #为 key 设置过期时间
(integer) 1
|
七、查看redis状态信息
1
| 192.168.1.11:6379> info #查看redis状态信息
|
