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

2e22ce50f815a56eb874c48abcd85bcede7d5fae.jpg
Redis 简明教程 免费.jpg

字符串

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

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

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

get 查询单个 key 的值。

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

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

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

mget 查询多个 key 的值。

列表

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

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

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

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

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

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

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

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

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

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

哈希

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

hmset 设置一个多域的 hash 表。

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

hget 获取指定的单域。

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

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

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

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

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

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

集合

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

sadd 产生一个无序集合。

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

smembers 查看一个集合。

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

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

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

zadd 产生一个有序集合。

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

zrange 查看正序的集合。

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

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

常用命令

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

exists 判断一个 key 是否存在。

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

del 删除一个或多个 key。

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

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

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

keys 返回匹配的 key 列表。

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

rename 更改 key 的名称。

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

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

  • ttl
# 格式
> 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
  • 方式二(配置 redis.conf)
# 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

持久化机制

  • snapshotting(快照)

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

  • Append-only file(AOF)

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

  • redis.conf 配置参数
#启用 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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、安装文档 2、 实验:(1) 启动redis(2) 停止redis(3)测试连接(发送命令的两种方法) 字符串类型: (4)设置一个键,获得该键值,并判断一个键是否存在 (5)删除键 (6)增和减 (7) 向尾部追加值 (8) 获取字符串长度 (9) 同时获得/设置多个键值 (10) 位操作 散列类型: (11) 为键值car设置price、name、model等“属性” (12) 判断model字段是否存在,不存在的话添加该字段,最后删除 列表类型: (13)向列表添加元素、弹出元素、获取表中元素个数、获得列表片段 (14)获得/设置指定索引的元素值 集合类型: (16) 增加或删除元素以及获得集合中所有元素: (17) 判断元素是否存在于集合中: (18) 集合的运算差sdiff,交sinter,并sunion 有序集合类型: (19) 增加元素、获得元素分数、获得排名在某个范围的元素列表、获得制定分数范围的元素 事务: (20)MULTI开启事务,EXEC结束事务 (21)错误处理:语法错误(命令本身错误)和运行错误(命令使用类型错误) (22)watch命令(监控作用) (23)Expire,ttl,persist命令控制键的存活时间 (24)Sort排序命令 (25)构造如图表结构: (26) Sort key1 by key2 将key1按照key2的大小进行排序 (27)get:sort key1 get key2 按照key1大小进行排序,将key2结果显示出来 (28)sort、by、get结合使用: (29)获取外部键但不进行排序: (30)将下表存在哈希结构中,并使用sort、by、get方法进行操作 (31)Store:将排完序的结果进行存储 (32)订阅者-发布者模式 任务队列: (33)优先级队列:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值