Redis

Redis

1
2
3
4
# MacOS
brew install redis
brew service start redis
brew service stop redis

KEY

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# 选择数据库 0-15
select 0
select 1

# 产看数据库
redis-cli client info | grep db=
info keyspace

# set key value
set a 1
get a 1
del a

# 清除全部库数据
flushall
# 清空当前数据库
flushdb

# 获取返回a=1 并设置a=1234567
getset a 1234567
# 设置多值
mset a 1 b 2
# 获取多值
mget a b

# 获取 0-2 双边包含的 字符串
getrange a 0 2

# 设置a=1有效期10s
setex a 10 1

# 序列化值(转换成二进制数据)
# dump key
dump a

# 查看key存不存在,返回多个key有几个存在的数字 0 ~ len(keys)
exists key [...keys]

# 设置过期时间
expire key seconds
expire a 10

# 移动k-v
move key db

# 移除过期时间
persist key

# 返回过期时间(-1表示无过期时间)
PTTL key # 毫秒
TTL key # 秒

# 返回一个系统现有的随机key 比如上面的a或b
randomkey

# 变更key名称(new_key可以在redis中已经存在,如果存在相当于就是删除old_key,并覆盖了new_key)
rename old_key new_key

# 变更key名称(new_key必须不在redis中存在)
renamenx old_key new_key

# 返回key的存储类型
type key

String

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
set key value
setnx key value # nx = not exists
setex key value # ex = exists

get key
getset key value

setrange key offset value
getrange key start end

setbit key offset value
getbit key offset

mset key1 value1 [key2 value2...]
msetnx key1 value1 [key2 value2...] # nx = not exists
mget key1 [key2...]

setex key seconds value # ex = expire
psetex key minlliseconds value # p 毫秒

strlen key

# 增加值+1 或+n
incr key
incrby key increment

# 删除值-1 或-n
decy key
decrby key number


append

List