本文介绍Redis以下内容:
(1)Windows下安装Redis
(2)Ubuntu系统安装Redis
(3)安装Redis可视化工具(redis desktop manager)
(4)使用Java对Redis进行增删改查
Redis学习教程:http://www.runoob.com/redis/redis-tutorial.html
Redis官网:http://www.redis.cn/
1、Windows下安装Redis
(1)下载地址:https://github.com/MicrosoftArchive/redis/releases
(2)安装比较简单,一直下一步就好了(可以改变安装路径)
(3)配置环境变量,进入到安装的redis路径中,如:E:\Redis
(4)Win+R打开命令窗口,进入到安装路径中,输入 edis-server redis.windows.conf ,redis就启动了,如图:
2、Ubuntu系统安装Redis
(1)执行安装
$sudo apt-get update
$sudo apt-get install redis-server
(2)启动服务
$ redis-server
3、安装Redis可视化工具(redis desktop manager)
(1)下载地址 :https://redisdesktop.com/download
(2)安装很简单,一直下一步,如图
(3)点击上图“Connect to Redis Server”,填入信息,然后点击“test connection”:
4、使用Java对Redis进行增删改查
(1)新建Maven工程,添加Redis依赖,如下:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
(2)进行增删改查操作:
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class TestRedis {
public static void main(String[] args) {
//连接到redis服务
Jedis jedis = new Jedis("127.0.0.1");
System.out.println("连接成功"+jedis.ping());
System.out.println("--------------------------");
jedis.flushDB();//清空之前的数据
//字符串 k-v
jedis.set("myString1", "11111");
jedis.set("myString2", "22222");
jedis.set("myString3", "33333");
System.out.println(jedis.get("myString2"));
System.out.println("--------------------------");
//Hash f-v
jedis.hset("myHash1", "liang1", "1111");
jedis.hset("myHash1", "liang2", "2222");
jedis.hset("myHash1", "liang3", "3333");
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("liang4", "4444");
hashMap.put("liang5", "5555");
jedis.hmset("myHash1", hashMap);//hmset可以用来一次放多个数据
Map<String, String> hgetAll = jedis.hgetAll("myHash1");
for (String string : hgetAll.keySet()) {
System.out.println(hgetAll.get(string));
}
System.out.println("--------------------------");
//List 可以重复
jedis.lpush("myList11", "11");
jedis.lpush("myList11", "22");
jedis.lpush("myList11", "33");
List<String> list = jedis.lrange("myList11", 0, 4);
for (String string : list) {
System.out.println(string);
}
System.out.println("--------------------------");
//Set 无序、不重复
jedis.sadd("mySet1", "aaa","bbb");
jedis.sadd("mySet1", "ccc");
Set<String> smembers = jedis.smembers("mySet1");
for (String string : smembers) {
System.out.println(string);
}
System.out.println("--------------------------");
//sorted set 有序、不重复
jedis.zadd("myZSet1", 1,"33333");
HashMap<String, Double> hashMap2 = new HashMap<String,Double>();
hashMap2.put("aaaaaaa", 1.0);
hashMap2.put("bbbbbbb", 4.0);
jedis.zadd("myZSet1", hashMap2);//可以使用Map一次放入多个值
Set<String> zrange = jedis.zrange("myZSet1", 0, 10);
for (String string : zrange) {
System.out.println(string);
}
System.out.println("--------------------------");
//HyperLogLog 基数统计
jedis.pfadd("myHyper1", "222");
jedis.pfadd("myHyper1", "111");
jedis.pfadd("myHyper1", "333");
System.out.println(jedis.pfcount("myHyper1"));
}
}