redis就是数据缓存是为了减少数据库得压力而存在。当所有的数据都要通过请求数据库来进行访问时数据库得压力显然会很大,为了减小数据库的压力,引入缓存。
首先是搭建redis的环境(windows):
下载地址:https://pan.baidu.com/s/1BK034X4rig6fSsY1Atx_3g 密码:nt7m
win + r键输入 cmd 在切换到redis的目录输入redis-server.exe redis.windows.conf。也可以将redis写入到windows服务中设置成开机自启,命令如下:redis-server --service-install redis.windows.conf。
redis安装成功如图所示:
redis的使用:
redis分为五种数据类型:string(普通字符)、list(列表)、set(集合)、zset(有序集合)、hash(哈希)。本文讲Java对redis进行操作,首先需要下载jar包。maven地址:
redis.clients
jedis
2.9.0
首先对string进行操作,不进行详细说明,看代码:
public static void main(String[] args) {
// 连接redis
Jedis jedis = new Jedis("localhost");
// 查看服务是否运行
System.out.println(jedis.ping());
// 设置redis数据
jedis.set("1","张三");
// 获取缓存数据
System.out.println("缓存的数据是---->"+jedis.get("1"));
}
对list进行操作:
public static void main(String[] args) {
// Java列表存入缓存
Jedis jedis = new Jedis("127.0.0.1");
// 存储数据到列表
jedis.lpush("list", "张三");
jedis.lpush("list", "李四");
jedis.lpush("list", "王五");
// 获取存储数据并输出
List list = jedis.lrange("list",0,2);
for (String s:list){
System.out.println("输出的列表是----->"+s);
}
}
对set进行操作:
public static void main(String[] args) {
// redis 存储set事例
Jedis jedis = new Jedis("127.0.0.1");
// 存储set数据
jedis.sadd("k1","1");
jedis.sadd("k1","2");
jedis.sadd("k1","3");
jedis.sadd("k2","1");
jedis.sadd("k2","2");
jedis.sadd("k2","3");
// 获取数据并输出
System.out.println(jedis.smembers("k1"));
// 删除某个key
jedis.del("1");
System.out.println("判断key是否存在---->"+jedis.exists("1"));
// 设置key值过期时间
System.out.println("key值过期时间----->"+jedis.expire("k1",5));
// 清空redis数据
jedis.flushAll();
// 查询所有的key
System.out.println("查询所有的key值----》"+jedis.keys("*"));
}
对hash进行操作:
public static void main(String[] args) {
// 对hash的操作
Jedis jedis = new Jedis("127.0.0.1");
// 添加值
jedis.hset("h1","hh1","1");
jedis.hset("h1","hh2","2");
jedis.hset("h1","hh3","3");
jedis.hset("h1","hh4","4");
jedis.hset("h1","hh5","5");
// 查询值
System.out.println("hash中的值----》"+jedis.hvals("h1"));
// 查看hash的key
System.out.println("hash中的key--->"+jedis.hkeys("h1"));
}