semi-xi / blog

blog
4 stars 1 forks source link

redis #40

Open semi-xi opened 7 months ago

semi-xi commented 7 months ago

Redis

安装

这里可以下载到最新的版本 linux 的话按照下面进行安装

# 解压
tar -xzvf 上面下载的文件包的名字
cd 上面解压之后的文件包的名字
make 

# 在安装完之后可以进行测试
make test

测试

打开一个命令行

服务端执行

cd src 
# 执行服务程序
./redis-server
# 如果有配置的话可以按照下面的命令执行指定的配置
./redis-server ../redis.conf

客户端测试

cd src
./redis-cli

验证

redis> set foo bar

redis>get foo
semi-xi commented 7 months ago

基本命令

连接

连接命令

# 退出
QUIT

# 切换到指定数据库
SELECT index

远端redis

redis-cli -h ${主机IP} -p ${端口} -a ${密码}
# 在redis-cli 后面加上  --raw 可以避免中文乱码
redis-cli  --raw -h ${主机IP} -p ${端口} -a ${密码}

数据

以下为基础用法,更详细的见这里

# 目前测试是命令的名字是忽略大小写的,例如set或者SET
# String
SET key 变量值
GET key

# Sash
HMSET key 变量名字 变量值
HGET key 变量名字

# List
LPUSH key 值
LRANGE key 起始位置 结束位置

# Set
# 成功会返回1,失败会返回, 代表已存在
SADD key 值
# 输出所有的set值
SMEMBER key 

# zset
ZADD key 分数(权重) 值
ZRANGEBYSCORE key 起始位置 结束位置

key的操作

并非所有,只列举常用, 更多请看这里

# 删除
DEL key

# 判断过期
EXISTS key

# 设置过期时间,以秒计算
EXPIRE key 时间

# 设置过期时间,接收的时间参数是unix时间戳
EXPIREAT key 时间

# 设置过期时间,以毫秒计算
PEXPIRE key 时间

# 设置过期时间,以时间戳unix的毫秒计算
PEXPIREAT key 时间

# 移除key的过期时间
PERSIST key 

# 修改key的名字在新的key
RENAME key 新key

# 仅当newkey不存在时,才改名字
RENAMENX key 新key

发布订阅

详细请看这里

# 订阅
SUBSCRIBE 频道

# 发布
PUBLISH 频道 内容

# 退订
UNSUBSCRIBE 频道

事务

# 标记事务块的开始
MULTI
# 取消watch命令对事物的监听
UNWATCH
# 监听key,如果key被其他命令改动了,那么事务将被打断
WATCH
# 取消事务
DISCARD
# 执行事务
EXEC 

脚本

用lua解析器来执行脚本,执行命令为EVAL,更详细可以看这里

服务器进行的命令

详细见这里

Steam

主要对队列进行持久化的储存,详细见这里

数据的备份与恢复

# 备份, 会生成一个dump.rdb 文件
SAVE

# 恢复,把文件迁移至安装目录,并且启动即可,安装目录可以执行以下命令
CONFIG GET dir

# 创建备份文件, 会在后台自动执行
BGSAVE