一加入jar包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.1.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>
二 启动redis
命令错误 会出现 以下错误 请仔细看好命令
启动完成后的界面
三redis 数据类型的使用类
package com.sx.redisDemo; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * Created by Administrator on 2018/12/4. */ public class RedisJava_01 { private Jedis jedis; //方法执行之前先调用 @Before public void stup() { // localhost 本机地址 jedis = new Jedis("localhost"); } /** * redis 存储字符串 */ @Test public void redis_string() { //赋值 key——value jedis.set("name", "admin"); //取值 打印admin System.out.println(jedis.get("name")); jedis.append("name", "全国通用密码"); //拼接 打印为admin全国通用密码 System.out.println(jedis.get("name")); //删除某个键 jedis.set("admin", "adm"); jedis.del("admin"); //打印为null System.out.println(jedis.get("admin")); //设置多个键值对 jedis.mset("name", "小米", "age", "12", "QQ", "1111"); jedis.incr("age");//对12 进行加1操作 //打印 小米--13----1111 System.out.println(jedis.get("name") + "--" + jedis.get("age") + "----" + jedis.get("QQ")); } /** * redis 操做Map */ @Test public void redis_Mapf() { //声明 Map<String, String> map = new HashMap<>(); //赋值 map.put("小米", "xiaomi"); map.put("年龄", "22"); map.put("性别", "男"); jedis.hmset("user", map); //取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "小米", "年龄", "性别"); System.out.println(rsmap); //删除key为性别的value jedis.hdel("user", "性别"); //打印key 为性别的value System.out.println(jedis.hmget("user", "性别")); //返回key 为user 键的值得个数 System.out.println(jedis.hlen("user")); //打印map中所有的key System.out.println(jedis.hkeys("user")); //打印map中所有的value System.out.println(jedis.hvals("user")); Iterator<String> iter = jedis.hkeys("user").iterator(); while (iter.hasNext()) { String key = iter.next(); System.out.println(key + ":" + jedis.hmget("user", key)); } } /** * redis 操作List */ @Test public void redis_List() { //移除所有内容 jedis.del("java"); System.out.println(jedis.lrange("java", 0, -1)); //向key java放入数据 jedis.lpush("java", "java"); jedis.lpush("java", "PHP"); jedis.lpush("java", "jQuery"); //再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java", 0, -1)); jedis.del("java"); System.out.println(jedis.lrange("java", 0, -1)); //向key java放入数据 jedis.rpush("java", "java"); jedis.rpush("java", "PHP"); jedis.rpush("java", "jQuery"); //再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java", 0, -1)); } /** * redis 操作set */ @Test public void redis_set() { //同一个key 在一个类中使用一定次数后 会抛异常 //异常 : redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value jedis.sadd("HK", "java"); jedis.sadd("HK", "PHP"); jedis.sadd("HK", "jQuery"); jedis.sadd("HK", "C"); //移除 jedis.srem("HK", "PHP"); //获取所有的value System.out.println(jedis.smembers("HK")); //判断value 是否属于HK的集合元素 System.out.println(jedis.sismember("HK", "C")); System.out.println(jedis.srandmember("HK")); //返回集合的个数 System.out.println(jedis.scard("HK")); } /** * redis 排序 */ @Test public void test() { //jedis 排序 //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的) jedis.del("C"); jedis.rpush("C", "3"); jedis.rpush("C", "6"); jedis.rpush("C", "2"); jedis.rpush("C", "7"); System.out.println(jedis.lrange("C", 0, -1)); System.out.println(jedis.sort("C"));//小到大依次排序 System.out.println(jedis.lrange("C", 0, -1)); } }