一Redis 数据备份与恢复
Redis SAVE 命令用于创建当前数据库的备份。
语法
redis Save 命令基本语法如下:
redis 127.0.0.1:6379> SAVE
实例
redis 127.0.0.1:6379> SAVE
OK
该命令将在 redis 安装目录中创建dump.rdb文件。
恢复数据
如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。
Bgsave
创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
实例
127.0.0.1:6379> BGSAVE
Background saving started
下表列出了 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)的内部命令 |
八Java 使用 Redis
安装
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:
- 首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。
- 在你的 classpath 中包含该驱动包。
本站提供了 2.9.0 jar 版本下载: jedis-2.9.0.jar
连接到 redis 服务
实例
import redis.clients.jedis.Jedis;
public class RedisJava {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
}
}
编译以上 Java 程序,确保驱动包的路径是正确的。
连接成功
服务正在运行: PONG
Redis Java String(字符串) 实例
实例
import redis.clients.jedis.Jedis; public class RedisStringJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //设置 redis 字符串数据 jedis.set("runoobkey", "www.runoob.com"); // 获取存储的数据并输出 System.out.println("redis 存储的字符串为: "+jedis.get("runoobkey"));
}
}
编译以上程序。
连接成功
redis 存储的字符串为: www.runoob.com
Redis Java List(列表) 实例
实例
import java.util.List; import redis.clients.jedis.Jedis; public class RedisListJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //存储数据到列表中 jedis.lpush("site-list", "Runoob"); jedis.lpush("site-list", "Google"); jedis.lpush("site-list", "Taobao"); // 获取存储的数据并输出 List<String> list = jedis.lrange("site-list", 0 ,2); for(int i=0; i<list.size(); i++) { System.out.println("列表项为: "+list.get(i)); } } }
编译以上程序。
连接成功
列表项为: Taobao
列表项为: Google
列表项为: Runoob
Redis Java Keys 实例
实例
import java.util.Iterator; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisKeyJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); // 获取数据并输出 Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); } } }
编译以上程序。
连接成功
runoobkey
site-list