零.安装与测试
- Windows上安装 Redis
Redis的官网为redis.io,安装Redis到Windows上,可以解压附件的redis.zip到本地的任意路径下(如:e盘)。
- 启动Redis服务器端
使用cmd.exe工具进入解压的redis文件夹,输入如下指令即可使用配置文件redis.windows.conf中指定的参数打开Redis服务器端
- 启动Redis服务器端
E:\redis>redis-server.exe redis.windows.conf
[3136] 01 Aug 15:30:18.916 # Creating Server TCP listening socket 127.0.0.1:6379
: bind: No error
2. 使用 Java 测试安装是否成功
maven pom 文件引入依赖:
<!-- jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> <type>jar</type> <scope>compile</scope> </dependency>
测试代码:
package com.wenniuwuren.redis; import redis.clients.jedis.Jedis; public class JedisUtil { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); System.out.println("value=" + value); } }
测试结果:value=bar
一.Redis Java String(字符串) 实例
向 Redis 服务器插入一条 key/value,打印 value 结果,然后删除
Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); System.out.println("value=" + value); jedis.del("foo"); System.out.println("value=" + jedis.get("foo"));
测试结果:
value=bar
value=null
二. Redis Java List(列表) 实例
public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); System.out.println("value=" + value); jedis.del("foo"); System.out.println("value=" + jedis.get("foo")); // 存储数据到列表 jedis.lpush("tutorial-list", "Redis"); jedis.lpush("tutorial-list", "Mongodb"); jedis.lpush("tutorial-list", "Mysql"); jedis.rpush("tutorial-list", "Memcached"); // 输出列表数据 List<String> list = jedis.lrange("tutorial-list", 0 ,1000); for(int i=0; i<list.size(); i++) { System.out.println("Stored string in redis:: "+list.get(i)); } }
测试结果:
value=bar
value=null
Stored string in redis:: Mysql
Stored string in redis:: Mongodb
Stored string in redis:: Redis
Stored string in redis:: Memcached
三. Redis Java Set(集合) 实例
public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); // 将给定元素添加到集合 jedis.sadd("setTest", "a"); jedis.sadd("setTest", "b"); jedis.sadd("setTest", "a"); // 检查给定元素是否存在于集合中 System.out.println("a is exist in setTest ?" + jedis.sismember("setTest", "a")); Set set = jedis.smembers("setTest"); // 返回集合包含的所有元素 Iterator iterator = set.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } // 如果给定的元素存在于集合中,那么移除这个元素 jedis.srem("setTest", "a"); Set finalSet = jedis.smembers("setTest"); Iterator iterator1 = finalSet.iterator(); System.out.println("删除后集合中元素..."); while (iterator1.hasNext()) { System.out.println(iterator1.next()); } }
执行结果:
a is exist in setTest ?true
a
b
删除后集合中元素...
b
四. Redis Java Hash(散列) 实例
public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); // 设置键值对 jedis.hset("hashTest", "a", "b"); jedis.hset("hashTest", "b", "c"); jedis.hset("hashTest", "a", "b"); // 获取 hash 中的所有键值对 Map map = jedis.hgetAll("hashTest"); // 根据 key 获取 value System.out.println(map.get("a")); System.out.println(map.get("b")); System.out.println(map.get("c")); System.out.println("删除后..."); jedis.hdel("hashTest", "a"); Map map1 = jedis.hgetAll("hashTest"); System.out.println(map1.get("a")); System.out.println(map1.get("b")); System.out.println(map1.get("c")); }
测试结果:
b
c
null
删除后...
null
c
null
五. Redis Java ZSET(有序集合) 实例
public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); // 将一个带有给定分值的成员添加到有序集合里面 jedis.zadd("zsetTest", 10, "a"); jedis.zadd("zsetTest", 20, "b"); // 获取有序集合在给定分值范围内的所有元素 Set zset = jedis.zrangeByScore("zsetTest", 5, 10); Iterator iterator = zset.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } System.out.println("........"); // 根据分值的排序顺序,获取有序集合在给定位置范围内的所有元素 Set zset1 = jedis.zrange("zsetTest", 0, -1); Iterator iterator1 = zset1.iterator(); while (iterator1.hasNext()) { System.out.println(iterator1.next()); } }
执行结果:
a
........
a
b