Redis
简介
字典型存储数据库,内部数据是以{key:value}
的结构进行存储。
value
可以是字符串(string)、哈希(hash)、列表(list)、集合(sets)、有序集合(sorted set)等
安装
Windows
下载地址:https://github.com/tporadowski/redis/releases
启动redis-server
命令:redis-server.exe redis.windows.conf
(配置文件)
进入redis
命令:redis-cli.exe -h 127.0.0.1 -p 6379
(默认6379端口)
Linux
安装命令[Ubuntu]:sudo apt install redis-server
启动服务
命令:service redis-server start
进入redis
命令:redis-cli
远程连接redis
命令:redis-cli -h host -p port -a password
配置
查看信息
命令:info [section]
(版本信息 info server)
设置密码
命令:CONFIG SET requirepass <pass>
(需要在redis.conf种开启 reqiurepasss 才有效,取消它的注释)
bind多个IP
配置redis.conf,例如:bind 127.0.0.1 192.168.1.1 [IP...]
配置
命令:CONFIG ...
示例
命令
解决中文乱码、16进制显示 进入redis时加上 --raw
参数,dos系统修改编码为UTF-8
格式(CHCP 65001)
设置键值对
命令:set [键] [值]
获取键值
命令:get [键]
查看所有键
命令:keys *
示例
HyperLogLog
简介
节约存储空间的存储结构算法,当数据量很大时可以使用,只会存储不重复的数据。
命令
添加:PFADD key element
总数:PFCOUNT key
合并:PFMERGE destkey sourcekey
示例
订阅
简介
类似管道,只是单方向的,向管道入口写东西,管道出口的客户端接受消息
命令
订阅一个或多个符合给定模式的频道:PSUBSCRIBE pattern[pattern...]
查看订阅与发布系统状态:PUBSUB subcommand[argument[argument...]]
发送信息到指定频道:PIBLISH channel message
退订所有给定模式的频道:PUNSUBSCRIBE [pattern[pattern...]]
订阅给定的一个或多个频道的信息:SUBSCRIBE channel[channel]
指定退订给定的频道:UNSUBSCRIBE [channel[channel...]]
示例
- 本地开启两个
redis-cli
客户端 - 第一个客户端输入
SUBSCRIBE runoobChat
,订阅runoobChat
频道(不用创建) - 第二个客户端输入
PUBLISH runoobChat "Messgae"
,向runoobChat
频道发送消息。
事务
简介
- 事务一次可以执行多个命令
- 命令在执行前会被放入队列缓存中
- 事务执行中,事务中任意命令执行失败,其余命令依然被执行。
- 事务执行过程中,其他客户端提交的命令不会被插入到事务执行序列中
流程
开始事务:MULTI
输入任意命令…
触发事务:EXEC
命令
标记事务块的开始:MULTI
取消事务:DISCARD
执行事务: EXEC
监视一个或多个key,如果事务执行前这些key被其他命令更改,事务将被打断:WATCH key[key...]
取消监视:UNWATCH
示例
脚本
简介
redis使用Lua解释器来执行脚本
语法
EVAL script numkeys key[key...] arg [arg...]
命令
执行Lua脚本:EVAL script numkeys key [key...] arg [arg...]
,EVALSHA sha1 numkeys key [key...] arg [arg...]
查看脚本是否已被保存在缓存中:SCRIPT EXISTS script [script...]
从脚本缓存中移除所有脚本:SCRIPT FLUSH
杀死当前运行的Lua脚本:SCRIPT KILL
将脚本添加到缓存中:SCRIPT LOAD script
示例
连接
命令
配置密码:CONFIG SET requirepass <pass>
验证密码是否正确:AUTH password
打印字符串:ECHO message
查看服务是否允许:PING
关闭当前连接:QUIT
查看数据库:CONFIG GET databases
、INFO keyspace
切换到指定数据库:SELECT index
示例
服务器
简介
管理redis服务
命令
序号 | 命令及描述 |
---|---|
1 | BGREWRITEAOF 异步执行一个 AOF(AppendOnly File) 文件重写操作 |
2 | BGSAVE 在后台异步保存当前数据库的数据到磁盘 |
3 | CLIENT KILL [ip:port] [ID client-id] 关闭客户端连接 |
4 | CLIENT LIST 获取连接到服务器的客户端连接列表 |
5 | CLIENT GETNAME 获取连接的名称 |
6 | CLIENT PAUSE timeout 在指定时间内终止运行来自客户端的命令 |
7 | CLIENT SETNAME connection-name 设置当前连接的名称 |
8 | CLUSTER SLOTS 获取集群节点的映射数组 |
9 | COMMAND 获取 Redis 命令详情数组 |
10 | COMMAND COUNT 获取 Redis 命令总数 |
11 | COMMAND GETKEYS 获取给定命令的所有键 |
12 | TIME 返回当前服务器时间 |
13 | COMMAND INFO command-name [command-name …] 获取指定 Redis 命令描述的数组 |
14 | CONFIG GET parameter 获取指定配置参数的值 |
15 | CONFIG REWRITE 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写 |
16 | CONFIG SET parameter value 修改 redis 配置参数,无需重启 |
17 | CONFIG RESETSTAT 重置 INFO 命令中的某些统计数据 |
18 | DBSIZE 返回当前数据库的 key 的数量 |
19 | DEBUG OBJECT key 获取 key 的调试信息 |
20 | DEBUG SEGFAULT 让 Redis 服务崩溃 |
21 | FLUSHALL 删除所有数据库的所有key |
22 | FLUSHDB 删除当前数据库的所有key |
23 | INFO [section] 获取 Redis 服务器的各种信息和统计数值 |
24 | LASTSAVE 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示 |
25 | MONITOR 实时打印出 Redis 服务器接收到的命令,调试用 |
26 | ROLE 返回主从实例所属的角色 |
27 | SAVE 同步保存数据到硬盘 |
28 | SHUTDOWN [NOSAVE] [SAVE] 异步保存数据到硬盘,并关闭服务器 |
29 | SLAVEOF host port 将当前服务器转变为指定服务器的从属服务器(slave server) |
30 | SLOWLOG subcommand [argument] 管理 redis 的慢日志 |
31 | SYNC 用于复制功能(replication)的内部命令 |