实验报告

Redis 《Redis 简明教程》实验报告

2020-08-31  本文已影响0人  Yohann丶blog
2e22ce50f815a56eb874c48abcd85bcede7d5fae.jpg Redis 简明教程 免费.jpg

字符串

# 格式
> set key value
# 例如
> set name Leo

set 适用于单个 key-value 的对应关系。

# 格式
> get key
# 例如
> get name

get 查询单个 key 的值。

# 自加+1
> incr height
# 自定义加
> incrby height 10
# 自减-1
> decr  weight
# 自定义减
> decrby weight 10
# 格式
> mset key [key ...]
# 例如
> mset name1 Leo name2 Raph

mset 适用于多个 key-value 的对应关系。

# 格式
> mget key [key ...]
# 例如
> mset name1 name2

mget 查询多个 key 的值。

列表

# 格式
> lpush key element [element ...]
# 例如
> lpush list Leo Raph

lpush 添加一个或多个元素到列表的左边,或称为头部。

# 格式
> rpush key element [element ...]
# 例如
> rpush list Donnie Mikey

rpush 添加一个或多个元素到列表的右边,或称为尾部。

# 格式
> lrange key start stop
# 例如
> lrange list 0 -1

lrange 可以按索引查询列表,0 -1表示查询全部。

# 格式
> brpop key [key ...] timeout
# 例如
> brpop list 1

brpop 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

# 格式
> blpop key [key ...] timeout
# 例如
> blpop list 1

blpop 移出并获取列表的头一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。

哈希

# 格式
> hmset key field value [field value ...]
# 例如
> hmset id:1 nickname Leo weapon 双刀 height 170

hmset 设置一个多域的 hash 表。

# 格式
> hget key field
# 例如
> hget id:1 nickname

hget 获取指定的单域。

# 格式
> hgetall key
# 例如
> hget id:1

hgetall 命令获取指定 key 的所有信息。

# 格式
> hmget key field [field ...]
# 例如
> hmget id:1 nickname weapon

hmget 命令获取一个或多个指定字段的值。

# 格式
> hincrby key field increment
# 例如
> hincrby id:1 height 10

hincrby 用于为哈希表中的字段值加上指定增量值。

集合

# 格式
> sadd key member [member ...]
# 例如
> sadd list Leo Raph Donnie Mikey

sadd 产生一个无序集合。

# 格式
> smembers key
# 例如
> smembers list

smembers 查看一个集合。

# 格式
> sismember key member
# 例如
> sismember list Leo

sismember 查看该元素是否是集合的成员。

# 格式
> zadd key [NX|XX] [CH] [INCR] score member [score member ...]
# 例如
> zadd list 1 Leo

zadd 产生一个有序集合。

# 格式
> zrange key start stop [WITHSCORES]
# 例如
> zrange list 0 -1

zrange 查看正序的集合。

# 格式
> zrevrange key start stop [WITHSCORES]
# 例如
> zrevrange list 0 -1 withscores 

zrevrange 查看倒序的集合,使用 withscores 参数返回权重值。

常用命令

# 格式
> exists key [key ...]
# 例如
> exists list

exists 判断一个 key 是否存在。

# 格式
> del key [key ...]
# 例如
> del list

del 删除一个或多个 key。

# 格式
> type key
# 例如
> type list

type 返回某个 key 的数据类型。

# 格式
> keys pattern
# 例如
> keys l*

keys 返回匹配的 key 列表。

# 格式
> rename key newkey
# 例如
> rename list team

rename 更改 key 的名称。

# 格式
> expire key seconds
# 例如
> expire countdown 20

expire 设置某个 key 的过期时间。

# 格式
> ttl key
# 例如
> ttl countdown

expire 查询 key 距过期剩余时间。

其他命令

# 清除界面
> clear 
# 查询 Redis 服务器的配置参数
> config get
# 修改 Redis 服务器的配置参数
> config get
# 重置数据统计报告
> config resetstat
# 查询当前数据库的 key 的总数
> dbsize 
# 清空当前数据库中的所有 key(慎用)
> flushdb 
# 清空所有数据库中的所有 key(慎用)
> flushall 
> 查询 Redis 服务器相关信息
> info 
# 随机获得一个已经存在的 key
> randomkey

设置密码

# 格式
> config set requirepass password
# 例如
> config set requirepass 123456
# requirepass foobared
修改为
requirepass 123456

密码认证

# 格式
$ redis-cli -a password
# 例如
$ redis-cli -a 123456
# 格式
> auth password
# 例如
> auth 123456

事务处理

# 格式
> multi
> ...
> ...
> exec
# 例如
> multi
> mset name1 Leo name2 Raph
> mset name3 Donnie  name4 Mikey 
> exec

持久化机制

将数据存放到文件中,默认方式。 是将内存中的数据以快照的方式写入到二进制文件中,默认文件 dump.rdb,可以通过配置设置自动做快照持久化的方式。可配置 Redis 在 n 秒内如果超过 m 个 key 被修改就自动保存快照。比如: save 900 1:900 秒内如果超过 1 个 key 被修改,则发起快照保存。 save 300 10:300 秒内如果超过 10 个 key 被修改,则快照保存。

将读写操作存放到文件中。

#启用 AOF 持久化方式
appendonly yes 
#收到写命令就立即写入磁盘,最慢,但是保证了数据的完整持久化
appendfsync always 
#每秒钟写入磁盘一次,在性能和持久化方面做了很好的折中
appendfsync everysec 
#完全依赖 os,性能最好,持久化没有保证
appendfsync no 
> help
SAVE -
summary: Synchronously save the dataset to disk
since: 1.0.0
group: server
> save
OK
上一篇下一篇

猜你喜欢

热点阅读