Redis学习之java代码实现(Jedis)

来源:互联网 发布:2017网络主播热唱歌曲 编辑:程序博客网 时间:2024/06/05 17:37

前面两篇说过redis的安装使用和密码设置后,现在来看看怎么用java代码连接服务器,并使用redis。

首先项目中需要有redis的驱动包,下载Jedis.jar。

下载最新驱动包,放到项目的lib目录下,确保项目包含该驱动包。


如果是maven项目,可以直接在pom.xml文件中引入如下配置:

<dependency>    <groupId>redis.clients</groupId>    <artifactId>jedis</artifactId>    <version>2.5.2</version></dependency>

连接Redis服务:

public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//查看服务是否运行System.out.println("服务是否运行:" + jedis.ping());}

输出结果如下,连接成功。

连接成功!服务是否运行:PONG

String(字符串) 类型实例

public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//设置字符串数据jedis.set("myKey", "testStr");//通过key输出缓存内容System.out.println("输出内容为:" + jedis.get("myKey"));}

输出结果:

连接成功!输出内容为:testStr

LIst(列表)类型实例

public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//存储List缓存数据jedis.lpush("test-list", "Java");jedis.lpush("test-list", "PHP");jedis.lpush("test-list", "C++");//获取list缓存数据List<String> listCache = jedis.lrange("test-list", 0, 3);for (int i = 0; i < listCache.size(); i++) {System.out.println("缓存输出:" + listCache.get(i));}}

输出结果:

连接成功!缓存输出:C++缓存输出:PHP缓存输出:Java


Hash(哈希)类型实例

public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//存储Hash类型缓存数据Map<String, String> hashMap = new HashMap<String, String>();hashMap.put("xiaoming", "man");hashMap.put("xiaohua", "women");hashMap.put("xiaoma", "man");jedis.hmset("test-hash", hashMap);//获取hash类型缓存数据Map<String, String> hashData = jedis.hgetAll("test-hash");System.out.println("获取hash缓存数据(xiaoming):"+hashData.get("xiaoming"));System.out.println("获取hash缓存数据(xiaohua):"+hashData.get("xiaohua"));System.out.println("获取hash缓存数据(xiaoma):"+hashData.get("xiaoma"));}

输出结果:

连接成功!获取hash缓存数据(xiaoming):man获取hash缓存数据(xiaohua):women获取hash缓存数据(xiaoma):man

Set(无序,不重复集合) 类型实例

public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//存储Set缓存数据jedis.sadd("test-set", "Java");jedis.sadd("test-set", "PHP");jedis.sadd("test-set", "C++");jedis.sadd("test-set", "PHP");//获取set缓存数据Set<String> setCache = jedis.smembers("test-set");for(String setStr : setCache){System.out.println("Set集合缓存输出:" + setStr);}}


输出结果:

连接成功!Set集合缓存输出:PHPSet集合缓存输出:C++Set集合缓存输出:Java


ZSet(有序,不重复集合) 类型实例
public static void main(String[] args){//连接本地的Redis服务Jedis jedis = new Jedis("127.0.0.1", 6379);System.out.println("连接成功!");//密码验证jedis.auth("123456");//存储zset类型缓存数据jedis.zadd("test-zset",1,"Java");jedis.zadd("test-zset",3,"C++");jedis.zadd("test-zset",2,"PHP");jedis.zadd("test-zset",2,"PHP");//获取zset缓存数据类型Set<String> setCache = jedis.zrange("test-zset", 0, 5);for(String setStr : setCache){System.out.println("获取zset缓存数据:" + setStr);}}


输出结果:

连接成功!获取zset缓存数据Java获取zset缓存数据PHP获取zset缓存数据C++
注:zset每个存储元素都会关联一个double类型的数值,redis就是根据这个数值进行排序的,数值可以重复,但是存储元素不可以重复。


1 0
原创粉丝点击