Java通过Jedis操作Redis

项目中遇到bug, 由于对redis这块不熟,只好从头开始一点点积累。废话不多说,下面是java中通过Jedis来操作Redis.

  1. 需要下载相关的jar包,jedis jar包和redis jar包都行(代码中应用的类是相同的,至于两个包有什么不同不太清楚,以后碰到再研究)。
  2. 下面是几个小demo
package jedis.redis;

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

import redis.clients.jedis.Jedis;

public class JedisHandleRedis {
    private Jedis jedis;

    //连接redis
    public void setup(){
        //连接redis, host为10.133.17.79, port为6379
        jedis = new Jedis("10.133.17.79", 6379);
        //如果redis设置了密码,进行认证
        //jedis.auth("admin"); 
    }

    //通过jedis操作redis中字符串
    public void testString(){
        System.out.println("STRING START----------------");

        //添加
        jedis.set("name", "zhao");
        System.out.println(jedis.get("name"));

        //拼接
        jedis.append("name", " is my last name.");
        System.out.println(jedis.get("name"));

        //删除
        jedis.del("name");
        System.out.println(jedis.get("name"));

        //设置多个键值对
        jedis.mset("username", "test", "password","12345","update","2016-4-6");
        System.out.println(jedis.get("username") + ":" + jedis.get("password") + ":" + jedis.get("update"));

        System.out.println("STRING END----------------");
    }

    //通过jedis操作redis中map
    public void testMap(){
        System.out.println("MAP START----------------");

        //添加
        Map<String, String> student1 = new HashMap<String, String>();
        student1.put("name", "xiaoming");
        student1.put("age", "21");
        student1.put("grade", "third grade");
        jedis.hmset("student1", student1);
        //下面这样直接取出student1会报错
        //System.out.println(jedis.get("student1"));
        //通过hmget取出student1, 取出的结果是一个泛型的List
        List<String> oList = jedis.hmget("student1", "name", "age", "grade");
        System.out.println(oList);

        //删除map中某个key
        jedis.hdel("student1", "age");
        //hget返回某个key的value,类型String
        System.out.println(jedis.hget("student1", "name"));
        //hmget返回类型List
        System.out.println(jedis.hmget("student1", "name"));
        System.out.println(jedis.hget("student1", "age"));
        System.out.println(jedis.exists("student1"));
        //返回map对象中所有的key
        System.out.println(jedis.hkeys("student1"));
        //返回map对象中所有的value
        System.out.println(jedis.hvals("student1"));

        System.out.println("MAP END----------------");
    }

    //通过jedis操作redis中list
    public void testList(){
        System.out.println("LIST START----------------");
        jedis.del("students");
        //添加
        jedis.lpush("students", "xiaoming");
        jedis.lpush("students", "xiaobai");
        jedis.lpush("students", "xiaohong");
        //通过lrange取出list中的数据
        System.out.println(jedis.lrange("students", 0, -1));
        //通过rpush添加数据
        jedis.rpush("students", "xiaoming2");
        jedis.rpush("students", "xiaobai2");
        jedis.rpush("students", "xiaohong2");
        System.out.println(jedis.lrange("students", 0, -1));

        System.out.println("LIST END----------------");
    }

    //通过jedis操作redis中set
    public void testSet(){
        System.out.println("SET START----------------");

        //添加
        jedis.sadd("class", "No.1");
        jedis.sadd("class", "No.2");
        jedis.sadd("class", "No.3");
        jedis.sadd("class", "No.4");
        jedis.sadd("class", "No.5");
        //获取所有value
        System.out.println(jedis.smembers("class"));
        //判断是否是set中的元素
        System.out.println(jedis.sismember("class", "No.1"));
        //随机获取一个成员
        System.out.println(jedis.srandmember("class"));
        //返回set中元素个数
        System.out.println(jedis.scard("class"));

        System.out.println("SET END----------------");
    }

    public static void main(String[] args){
        JedisHandleRedis jedisHandleRedis = new JedisHandleRedis();
        jedisHandleRedis.setup();
        jedisHandleRedis.testString();
        jedisHandleRedis.testMap();
        jedisHandleRedis.testList();
        jedisHandleRedis.testSet();
        //关闭连接
        jedisHandleRedis.jedis.close();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值