使用Jedis连接Redis
建一个Maven项目,pom里加入jedis依赖
jedis依赖包可以在阿里云下载2.9.0的
写测试类进行测试
/**
-
测试类
-
@author user
*/
public class JedisTest {public static void main(String[] args) {
Jedis jedis=new Jedis(“192.168.1.107”,6379); //创建客户端,设置IP和端口
jedis.auth(“123456”); //设置密码,若没有则不用写
jedis.set(“name”, “java知识分享网”); //设置值
String value=jedis.get(“name”); //获取值
System.out.println(value);
jedis.close(); //释放连接资源
}
}
如果正常输出则说明连接成功
//jedis操作存储字符串
jedis.set(“unaem”, “admin”);
//jedis操作取字符串
System.out.println(jedis.get(“uname”));//jedis操作存储hash方式一 jedis.hset("stu", "stuName", "admin"); jedis.hset("stu", "stuAge", "28"); //jedis操作存储hash方式二 Map<String, String> hash = new HashMap<String, String>(); hash.put("stuName", "admin"); hash.put("stuAge", "28"); jedis.hmset("stu1", hash); //jedis操作取hash System.out.println(jedis.hget("stu", "stuAge")); System.out.println(jedis.hmget("stu1", "stuAge")); //jedis操作存储list jedis.lpush("likes", "e", "f", "g"); //jedis操作取list(取值栈里下标为2的值,即“e”) System.out.println(jedis.lindex("likes", 2));
Redis的持久化
所有的数据都存在内存中,从内存当中同步到硬盘上,这个过程叫做持久化过程。
持久化操作有两种方式:rdb方式、aof方式,可以单独使用或者结合使用。
rdb方式:在指定的时间间隔写入硬盘,是Redis默认的持久化方式
优势:只有一个文件,时间间隔的数据,可以归档为一个文件,方便压缩转移(就一个文件)
劣势:如果宕机,数据损失比较大,因为它是没一个时间段进行持久化操作的。也就是积攒的数据比较多,一旦懵逼,就彻底懵逼了
可通过编辑redis.conf文件进行配置:
这里save 900 1 表示每900秒内至少有1个kery发生变化,就持久化
save 300 10表示每300秒内至少有10个key发生变化,就持久化
save 60 10000表示每60秒内至少有10000个key发生变化,就持久化
这里有个dbfilename配置 是 保存的持久化的文件名 默认是dump.rdb
dir ./ 表示文件存储路径是当前路径
aof方式:将以日志,记录每一个操作,服务器启动后就构建数据库。
优势:安全性相对RDB方式高很多
劣势:效率相对RDB方式低很多
打开redis.conf文件:
appendonly no默认关闭aof方式 我们修改成yes 就开启,下面那个是默认的aof文件名
这里是三种同步策略:
always 是 只要发生修改,立即同步 (推荐实用 安全性最高)
everysec 是 每秒同步一次
no是不同步
我们修改成always,然后保存退出
配置可以禁用持久化功能,也可以同时使用两种方式。