Jedis操作Redis(数据类型测试)

来源:互联网 发布:网络加速器green 编辑:程序博客网 时间:2024/06/06 01:54

配置redis:
修改redis.config: 注释 bind:127.0.0.1,修改protected-mode 为 no 重启redis服务后就好了

添加jar包:
jedis-2.4.1.jar junit-4.10.jar

package priv.starfish.redis;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;public class RedisTest {    private Jedis jedis;    @Before    public void connect() {        jedis = new Jedis("192.168.26.58", 6379); // 默认端口是6379,也可以不写        System.out.println("Service is running ---" + jedis.ping());    }    /*     * 测试5+1(五大数据类型和key)     */    @Test    public void testString() {        jedis.set("name", "starfish");        jedis.mset("age", "25", "isHandsome", "sure", "job", "programmer");        jedis.incr("age");        jedis.append("car", "CRV");        System.out.println(                jedis.get("age") + " years old " + jedis.get("name") + " is handsome? " + jedis.get("isHandsome"));        System.out.println(jedis.mget("job", "car")); // 返回所有给定的key的值,返回数组    }    @Test    public void testList() {        jedis.del("language");        jedis.lpush("language", "Chinese"); // 插入到表头,left 左边么        jedis.rpush("language", "Japanese"); // 插入到表尾        jedis.lpush("language", "English");        jedis.lset("language", 0, "French"); // 将列表language下标是0的元素值设为French        System.out.println(jedis.llen("language")); // 返回列表key的长度        System.out.println(jedis.lrange("language", 0, 2)); // 返回列表中指定区间的元素        System.out.println(jedis.lindex("language", 1)); // 返回下标为1的元素    }    @Test    public void testHash() {        // 添加数据        Map<String, String> map = new HashMap<String, String>();        map.put("name", "starfish");        map.put("age", "25");        map.put("car", "CRV");        jedis.hset("user", "job", "programmer");        jedis.hmset("user", map);        String name = jedis.hget("user", "name");        System.out.println("name:" + name);        List<String> userInfo = jedis.hmget("user", "name", "age", "job", "car");        System.out.println("userInfo:" + userInfo); // 返回给定域的值        System.out.println(jedis.hlen("user"));        System.out.println(jedis.hvals("user")); // 返回哈希表 key 中所有域的值        System.out.println(jedis.hkeys("user")); // 返回hash表key中的所有域        Iterator<String> iter = jedis.hkeys("user").iterator();        while (iter.hasNext()) {            String key = iter.next();            System.out.println(key + ":" + jedis.hmget("user", key));        }    }    @Test    public void testSet() {        jedis.sadd("java", "myBatis", "Spring", "Struts", "Hibernate","python");        System.out.println(jedis.scard("java"));        jedis.srem("java", "python");  //移除key中的一个或多个元素        System.out.println(jedis.sdiff("java"));        System.out.println(jedis.sismember("java", "c++")); //判断C++是否在java集合中        //redis还提供了一种有序集合        jedis.zadd("DB", 1, "mysql");        jedis.zadd("DB", 3, "sqlServer");        jedis.zadd("DB", 0, "oracle");        System.out.println("有序集长度:"+jedis.zcard("DB"));  //返回有序集 key 的基数        Set<String> set = jedis.zrange("DB", 0, 2);        System.out.println(set);        for (Iterator iterator = set.iterator(); iterator.hasNext();) {            String string = (String) iterator.next();            System.out.println(string);        }        System.out.println(jedis.zscan("DB", "0"));    }}
原创粉丝点击