Redis的增删改查

请确认版本

启动Redis服务器

redis-server --version
redis-server -v
redis-cli --version
redis-cli -v

服务器启动

启动Redis服务器

redis-server

强制终止(※ 可能导致数据保存失败)

Ctrl + C

从客户端连接到服务器。

在另一个终端上连接到Redis服务器。

redis-cli

客户端退出

exit

从客户端发出服务器关闭的请求(*数据被保存)。

shutdown

确认动作

redis 127.0.0.1:6379> set key val
OK
redis 127.0.0.1:6379> get key
"val"

选择数据库

数据库是通过编号进行管理的,无法命名。

默认情况下,它连接到数据库0号,但您可以按照以下方式进行切换。

select 1
select 2

先暂时设为0吧。

select 0

数据存储

在Redis中,数据会自动保存在磁盘上,但也可以显式地保存到磁盘上。

bgsave

数据将以文件名“dump.rdb”保存在启动Resis服务器的目录中。

当启动Redis时,需要在相同的目录下启动。

Strig类型的写入记述

数据写入

set key value

一起写入

mset key value key value ...

获取数据

get key

整合性的获取数据

mget key key key ...

将值”nakano”存储在键名为”name”的位置。

set name nakano

获取「name」键。

get name

将值存储在”email”键和”score”键中。

mset email hoge@foo.com score 120

获取存储在键中的值的集合。

mget name email score

改变数值

使用下面的命令,可以增加或减少存储在String中的数字的值。

incr / incrby 増加幅
decr / decrby 減少幅

将数字向上取整为1。

incr score

获取数值。

get score

将数值减少10。

decrby score 10

获取数值。

get score

操作 KEY

全键搜寻

keys *

模式搜索

keys *m*

确认是否存在钥匙

exists score

exists age

更改键的名称

set age 14
rename age nenrei
keys *

删除键

del nenrei
keys *
set age 14

密钥有效期限(5秒)

expire age 5
get age

随机返回一个键。

randomkey

列出型的写入

左端に追加 lpush
右端に追加 rpush
左端を削除 lpop
右端を削除 rpop

添加要素

rpush mycolor pink
rpush mycolor green
rpush mycolor red
rpush mycolor yellow
rpush mycolor blue
rpush mycolor purple

获取从第0到第5个编号

lrange mycolor 0 5

从第0位开始,取出到倒数第1位。

lrange mycolor 0 -1

删除右端

rpop mycolor
lrange mycolor 0 -1

删除左侧

lpop mycolor
lrange mycolor 0 -1

获取第二个元素

lindex mycolor 2

获取要素的数量

llen mycolor

删除元素的范围为从第0个到第2个以外的所有元素。

or

删除元素的范围为除了从第0个到第2个以外的所有元素。

ltrim mycolor 0 2
lrange mycolor 0 -1

Set类型的写入

追加 sadd
削除 srem
一覧 smembers
和集合 sunion
積集合 sinter
差集合 sdiff

添加要素

sadd myset1 a
sadd myset1 b
sadd myset1 c

要素清单

smembers myset1

加入元素之后

sadd myset1 d

元素列表(以无序方式显示)

smembers myset1

删除元素

srem myset1 d
smembers myset1

创建另一个Set数据

sadd myset2 b
sadd myset2 c
sadd myset2 d
sadd myset2 e
smembers myset1
smembers myset2

和聚集

sunion myset1 myset2

集合的积

sinter myset1 myset2

差异的集合

sdiff myset1 myset2

从集合中创建新数据

sunionstore myunion myset1 myset2
smembers myunion

按顺序排列的集合类型写入

追加 zadd
削除 zrem
一覧 zrange
ランク zrank

添加要素

zadd hs 22 nakano
zadd hs 50 tanaka
zadd hs 80 sato
zadd hs 21 suzuki

从低到高获取列表

zrange hs 0 -1

从价格较高的那一方获取列表。

zrevrange hs 0 -1

从低到高获取排名

zrank hs nakano

从高到低获取排名。

zrevrank hs nakano

哈希类型的写入

hset 追加
hmset 複数追加
hget 取得
hmget 複数取得
hlen 要素数を取得
hkeys キーをすべて取得
hvals 値をすべて取得
hgetall キー、値をすべて取得

设定值

hset user name nakano

設置多個值組

hmset user email hoge@foo.com score 120

获取值

hget user email

获取多个值

hmget user name email score

获取元素数量

hlen user

获取所有的按键

hkeys user

获取所有的值

hvals user

获取所有的键和值

hgetall user

排序

对List类型进行排序

对String类型进行升序排序

lpush myscore 22
lpush myscore 50
lpush myscore 80
lpush myscore 21

确认数据类型

type myscore
lrange myscore 0 -1
sort myscore

按照数量排序

sort myscore desc

从第0号开始,按照多的顺序排序前3个。

sort myscore desc limit 0 3

按字母顺序排序

keys *
lrange mycolor 0 -1
sort mycolor alpha
sort mycolor slpha desc

以Set类型进行排序

smembers myset1
sort myset1 alpha

多/执行

虽然与RDB事务类似,但如果服务器在处理过程中出现故障,可能会导致中途的处理部分被执行。

multi
処理
処理
処理
exec(実行)/discard(キャンセル)
multi
incr counter
incr visitor
exec
bannerAds