java使用Redis(六个类型)
下载插件:https://mvnrepository.com/artifact/redis.clients/jedis/3.0.0
maven 项目依赖:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.0</version> </dependency>
使用前,必须启动服务
首先连接
//连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务正在运行:"+jedis.ping());
字符串使用:
public static void string(Jedis jedis){ //使用 string System.out.println("-------------- 字符串 -------set-------"); jedis.set("name","my");//向 key-->name 中放入了 value-->wbg // 获取存储的数据并输出 System.out.println("redis 存储的 name 字符串为:"+ jedis.get("name")); jedis.append("name", "name is wbg"); //拼接 System.out.println(jedis.get("name")); jedis.del("name"); //删除某个键 System.out.println(jedis.get("name")); //设置多个键值对 jedis.mset("name","wbg","age","20","qq","761273133"); jedis.incr("age"); //进行加 1 操作 System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));}
map 的使用:
public static void map(Jedis jedis) { //----- 添加数据 ---------- Map<String, String> map = new HashMap<String, String>(); map.put("name", "wbg"); map.put("age", "21"); map.put("qq", "761273133"); jedis.hmset("user",map); //取出 user 中的 name,执行结果:[minxr]--> 注意结果是一个泛型的 List //第一个参数是存入 redis 中 map 对象的 key,后面跟的是放入 map 中的对象的 key,后面的 key 可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "name", "age", "qq"); System.out.println(rsmap);Iterator<String> iter=jedis.hkeys("user").iterator(); while (iter.hasNext()){ String key = iter.next(); System.out.println(key+":"+jedis.hmget("user",key));} }</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">删除map中的某个键值</span> jedis.hdel("user","age"<span style="color: rgba(0, 0, 0, 1)">); System.out.println(jedis.hmget(</span>"user", "age")); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">因为删除了,所以返回的是null</span> System.out.println(jedis.hlen("user")); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">返回key为user的键中存放的值的个数2</span> System.out.println(jedis.exists("user"));<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">是否存在key为user的记录 返回true</span> System.out.println(jedis.hkeys("user"));<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">返回map对象中的所有key</span> System.out.println(jedis.hvals("user"));<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">返回map对象中的所有value</span>
set 的使用:
public static void set(Jedis jedis){ //添加 jedis.sadd("users","wbg"); jedis.sadd("users","tp"); jedis.sadd("users","oyl"); jedis.sadd("users","ldl"); jedis.sadd("users","tyj"); //移除 users 中的 tp jedis.srem("users","tp"); System.out.println(jedis.smembers("users"));//获取所有加入的 value System.out.println(jedis.sismember("users", "who"));//判断 who 是否是 users 集合的元素 System.out.println(jedis.srandmember("users")); System.out.println(jedis.scard("users"));//返回集合的元素个数 }
list 的使用:
public static void list(Jedis jedis){ //开始前,先移除所有的内容 jedis.del("java framework"); System.out.println(jedis.lrange("java framework",0,-1)); //先向 key java framework 中存放三条数据 jedis.lpush("java framework","spring"); jedis.lpush("java framework","struts"); jedis.lpush("java framework","hibernate"); //再取出所有数据 jedis.lrange 是按范围取出, // 第一个是 key,第二个是起始位置,第三个是结束位置,jedis.llen 获取长度 -1 表示取得所有 System.out.println(jedis.lrange("java framework",0,-1)); //删除 jedis.del("java framework"); jedis.rpush("java framework","spring"); jedis.rpush("java framework","struts"); jedis.rpush("java framework","hibernate"); System.out.println(jedis.lrange("java framework",0,-1));}