Redis的安装及java操作

1 安装

1.1 Ubuntu环境

安装命令

sudo apt-get install redis-server

打开client终端,测试是否安装成功
这里写图片描述

2 下载并配置Jdis

Jdis是Java操作Redis的api接口,下载地址为:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip

如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip

3 Java操作Redis示例

简单地获取连接

import java.util.HashMap;
import java.util.List;
import java.util.Set;

import redis.clients.jedis.Jedis;

public class TestRedis {
    private Jedis client;       // 客户端

    /**
     * 构造方法,创建连接客户端
     * */
    public TestRedis() {
        client = new Jedis("localhost", 6379);
    }

    /**
     * 存储字符串
     * */
    public void test1() {
        client.set("name", "panshan");          // 存储键值对
        System.out.println(client.get("name")); // 根据键获取值, panshan

        client.append("name", "from bupt");     // 根据key,对value进行追加, panshanfrom bupt
        System.out.println(client.get("name"));

        client.del("name");                     // 根据key,删除kv
        client.get("name");

        /**
         * 同时设置多个键值对
         * */
        client.mset("name", "panshan", "from", "bupt");
        System.out.println(client.get("name")); // panshan
        System.out.println(client.get("from")); // bupt

    }

    /**
     * key为字符串,value为HashMap
     * */
    public void test2() {
        // 创建并初始化HashMap
        HashMap<String, String> map1 = new HashMap<>();
        map1.put("a", "1");
        map1.put("b", "2");
        map1.put("c", "3");

        // 将map作为value,存入数据库
        client.hmset("map1", map1);

        // 取出map中的值,第一个参数为map对应的key,其他参数为map中的key
        List<String> res = client.hmget("map1", "a", "b", "c");
        System.out.println(res);        // [1, 2, 3]
    }

    /**
     * Set操作
     * */
    public void test3() {
        client.sadd("set1", "value1", "value2", "value3");
        client.sadd("set1", "value4");

        Set<String> set1 = client.smembers("set1");
        System.out.println(set1);       // [value2, value1, value4, value3]
    }


    public static void main(String[] args) {
        TestRedis obj = new TestRedis();
        obj.test3();
    }
}

使用连接池

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisPool {
    private static String host = "localhost";   // 服务器地址
    private static int port = 6379;             // 端口号

    private static int MAX_ACTIVE = 200;        // 最大活跃连接数
    private static int MAX_IDEL = 100;          // 最大空闲连接数
    private static int MAX_WAIT = 10000;        // 等待可用连接的最大时长ms

    private JedisPool pool = null;              // 连接池

    /**
     * 构造方法,创建并初始化连接池
     * */
    public RedisPool() {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxActive(MAX_ACTIVE);
        config.setMaxIdle(MAX_IDEL);
        config.setMaxWait(MAX_WAIT);

        pool = new JedisPool(config, host, port);
    }

    /**
     * 从连接池获取多个连接客户端,用客户端操作数据库,最后释放资源
     * */
    public void process() {
        /**
         * 获取多个连接客户端
         * */
        for (int i = 0; i < 10; i++) {
            Jedis client = pool.getResource();

            client.set("thread", Thread.currentThread().getName());
            System.out.println(client.get("thread"));

            pool.returnResource(client);        // 释放连接资源到连接池
        }
    }

    public static void main(String[] args) {
        RedisPool obj = new RedisPool();
        obj.process();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值