Java之redis五大类型的使用

redis在java中不能直接使用需要jedis来做中间转换。

所需jar包:

1.String类型

string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。value只最多是512M。在java中代码如下:
package com.gsl.redis;

import redis.clients.jedis.Jedis;

/**
 * 
* 说明: 在Java中使用redis中的String类型 * 作者: Guo.shiLin * 日期: 2018年8月9日 * @version 1.0 */ public class RedisStringJava { public static void main(String[] args) { //连接本地redis服务器 Jedis jedis = new Jedis("localhost"); System.out.println("本地Redis连接成功!"); //为redis设置key-value值 jedis.set("baidu", "www.baidu.com"); System.out.println("保存值成功!"); System.out.println("获取key的值:" + jedis.get("baidu")); } }

2.list类型

redis列表是简单的字符串列表,按照插入的顺序排序。底层就是一个链表。Java代码如下:
package com.gsl.redis;

import java.util.List;

import redis.clients.jedis.Jedis;

/**
 * 
 * 
* 说明: redis list类型底层是一个链表,按照插入的顺序进行排序。 * 作者: Guo.shiLin * 日期: 2018年8月9日 * @version 1.0 */ public class RedisListJava { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); System.out.println("本地redis连接成功"); //存储数据到列表中 jedis.lpush("IT", "JAVA"); jedis.lpush("IT", "PHP"); jedis.lpush("IT", "C++"); //获取存储的数据并输出 List list = jedis.lrange("IT", 0, 3); list.forEach(string -> System.out.println(string)); } }

3.set集合

类似list的无序集合,保证列表中不会有重复数据。它是通过HashTable来实现的。Java代码如下:

package com.gsl.redis;

import redis.clients.jedis.Jedis;

/**
 * 
* 说明: 在Java中redis set的使用,不能放重复元素。 * 作者: Guo.shiLin * 日期: 2018年8月15日 * @version 1.0 */ public class RedisSetDemo { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); System.out.println("连接本地的 Redis 服务成功!"); //清空user jedis.del("user"); //添加 jedis.sadd("user", "Tom"); jedis.sadd("user", "Tom"); jedis.sadd("user", "chenze"); jedis.sadd("user", "likui"); jedis.sadd("user", "liumen"); //删除chenze jedis.srem("user", "chenze"); System.out.println(jedis.smembers("user"));//获取所有的value System.out.println(jedis.sismember("user", "likui"));//判断集合中是否有该元素 System.out.println(jedis.scard("user"));//返回集合的元素个数 } }

4.sort排序

代码如下:
package com.gsl.redis;

import redis.clients.jedis.Jedis;

/**
 * 
* 说明: redis zset排序 * 作者: Guo.shiLin * 日期: 2018年8月15日 * @version 1.0 */ public class RedisSortDemo { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); System.out.println("连接本地的 Redis 服务成功!"); //jedis排序 //注意,此处rpush和lpush是list的操作。是一个双向链表 jedis.del("a");//先清除数据 jedis.rpush("a", "1"); jedis.rpush("a", "6"); jedis.rpush("a", "4"); jedis.rpush("a", "9"); jedis.rpush("a", "2"); System.out.println(jedis.lrange("a", 0, -1)); System.out.println(jedis.sort("a")); System.out.println(jedis.lrange("a", 0, -1)); } }

5.Hash

Redis hash 是一个键值对集合。Redis hash是一个string类型的fieldvalue的映射表,hash特别适合用于存储对象。代码如下:

package com.gsl.redis;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import redis.clients.jedis.Jedis;

/**
 * 
* 说明: redis对Map的使用 * 作者: Guo.shiLin * 日期: 2018年8月13日 * @version 1.0 */ public class RedisMapDemo { public static void main(String[] args) { Jedis jedis = new Jedis("localhost"); System.out.println("本地redis连接成功"); //创建hashMap并添加数据 Map hashMap = new HashMap(); hashMap.put("name", "Tom"); hashMap.put("age", "12"); hashMap.put("sex", "man"); //添加hash类型数据 jedis.hmset("user", hashMap); //第一个参数是redis中hash类型的key,第二、三、四个参数是map里面对用的key List rsmap = jedis.hmget("user", "name", "age", "sex"); System.out.println(rsmap); //删除map中的sex元素 jedis.hdel("user", "sex"); System.out.println(jedis.hmget("user", "sex"));//因为删除了所以返回null System.out.println(jedis.hlen("user"));//查看Map有多少元素 System.out.println(jedis.exists("user"));//判断是否有user这个元素 System.out.println(jedis.hkeys("user"));//获取user的key System.out.println(jedis.hvals("user"));//获取user的值 Iterator iterator = jedis.hkeys("user").iterator(); while (iterator.hasNext()) { String key = iterator.next(); System.out.println(key + ":" + jedis.hmget("user", key)); } } }

 

你可能感兴趣的:(Java,redis的使用)