安装

mac安装指令

1
sudo make install

基础指令

启动,关闭ctrl + c

1
redis-server

连接redis

1
redis-cli -p 6379

切换数据库,默认0号数据库

1
2
3
4
5
select 序号

#示例
select 0
select 1

添加数据

1
2
3
4
5
6
set <key> <value>
mset <key> <value>

#示例
set ulan 9
mset ulan 9 coconut 18

创建数据设置过期时间

1
2
3
4
5
set <key> <value> ex 秒
set <key> <value> px 毫秒

#示例
set ulan 9 ex 5

已有数据设置过期时间

1
2
3
4
expire <key> 秒

#示例
expire ulan 5

删除数据

1
2
3
4
del <key>...

#示例
del ulan coconut

移动数据到另一个数据库

1
2
3
4
move <key> 数据库序号

#示例
move ulan 1

修改键名

1
2
3
4
5
6
rename <key> <新的名称>
-- 下面这个会检查新的名称是否已经存在
renamex <key> <新的名称>

#示例
rename ulan diyulan

自增自减操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 等价于a = a + 1
incr <key>
-- 等价于a = a + b
incrby <key> b
-- 等价于a = a - 1
decr <key>

#示例
set ulan 100
incr ulan #101
incrby ulan 10 #111

decr ulan #110
decrby ulan 10 #100

查询数据

1
2
3
4
get <key>

#示例
get ulan

查询数据过期时间

1
2
3
4
5
6
7
8
9
ttl <key>
-- 毫秒显示
pttl <key>
-- 转换为永久
persist <key>

#示例
ttl ulan
persist ulan

查询数据库全部键

1
keys *

查询某个键是否存在,不存在返回0,存在返回1

1
2
3
4
5
6
exists <key>...

#示例
exists papazi #0
exists ulan #1
exists ulan coconut #2

随机拿一个键

1
randomkey

查看值的类型

1
2
3
4
5
type <key>

#示例
set ulan 100
type ulan #string

数据类型

Hash

值本身是一个Map,可以放入类的各种属性和值,实现一个Hash数据类型存储一个类的数据

1
2
3
4
5
#Redis默认存String类似于这样:
Map<String, String> hash = new HashMap<>();

#Redis存Hash类型的数据类似于这样:
Map<String, Map<String, String>> hash = new HashMap<>();

添加Hash类型的数据

1
2
3
4
hset <key> [<字段> <值>]...

#示例
hset person name ulan age 9

查询某个键的字段

1
2
3
4
5
6
7
hget <key> <字段>
-- 如果想要一次性获取所有的字段和值
hgetall <key>

#示例
hget person name
hgetall person

判断某个字段是否存在

1
2
3
4
hexists <key> <字段>

#示例
hexists person name

删除Hash中的某个字段

1
2
3
4
hdel <key>

#示例
hdel person age

查询某个键存了多少键值对

1
2
3
4
hlen <key>

#示例
hlen person

获取所有字段的值

1
2
3
4
hvals <key>

#示例
hvals person

List

添加数据

1
2
3
4
5
6
7
8
9
10
-- 向列表头部添加元素
lpush <key> <element>...
-- 向列表尾部添加元素
rpush <key> <element>...
-- 在指定元素前面/后面插入元素
linsert <key> before/after <指定元素> <element>

#示例
rpush listTest 000 111 222
linsert listTest before 111 666 #000 666 111 222

获取元素;下标为负数,表示从尾部往头部数,-1则是倒数第一个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- 根据下标获取元素
lindex <key> <下标>
-- 获取并移除头部元素
lpop <key>
-- 获取并移除尾部元素
rpop <key>
-- 获取指定范围内的
lrange <key> start stop

#示例
lindex listTest 0 #000
lpop listTest #000
rpop listTest #222
lrange listTest 0 -1 #666 111