redis学习笔记

redis下载地址:https://github.com/MSOpenTech/redis/releases
jedis下载地址:https://mvnrepository.com/artifact/redis.clients/jedis

封装好的单例

public class RedisUtils {
    private static RedisUtils mInstence;
    private String host = "localhost";// ip地址
    private int port = 6379;// 端口
    private String pswd = "123456";// 密码

    public Jedis jedis;// 非分布式客户端连接
    private JedisPool jedisPool;// 非分布式连接池
    public ShardedJedis shardedJedis;
    private ShardedJedisPool shardedJedisPool;// 分布式连接池

    public synchronized static RedisUtils getInstence() {
        if (mInstence == null) {
            mInstence = new RedisUtils();
        }
        return mInstence;
    }

    public RedisUtils() {
        initialPool();
        initialShardedPool();
    }

    /**
     * 初始化非分布式连接池
     */
    private void initialPool() {
        // 池基本配置
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxActive(20);
        config.setMaxIdle(5);
        config.setMaxWait(1000l);
        config.setTestOnBorrow(false);
        jedisPool = new JedisPool(config, host, port);
        jedis = jedisPool.getResource();
        //jedis.auth(pswd);
    }

    /**
     * 初始化分布式连接池
     */
    private void initialShardedPool() {
        // 池基本配置
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxActive(20);
        config.setMaxIdle(5);
        config.setMaxWait(1000l);
        config.setTestOnBorrow(false);
        // slave链接
        List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
        shards.add(new JedisShardInfo(host, port, "master"));

        // 构造池
        shardedJedisPool = new ShardedJedisPool(config, shards);
        shardedJedis = shardedJedisPool.getResource();
    }



    /**
     * 
     * 方法功能说明:  打印所有key value
     * @author 作者:jzh  
     * @date 创建时间 :2017-12-29 下午3:23:24            
     * @version 版本: v1.0
     */
    public void printsAll() {
        System.out.println("系统中所有键如下:");
        Set<String> keys = jedis.keys("*");
        Iterator<String> it = keys.iterator();
        while (it.hasNext()) {
            String key = it.next();
            System.out.println("key=" + key + ",value=" + jedis.get(key));
        }

    }

    public static void main(String[] args) {
        RedisUtils.getInstence().jedis.set("name", "jzh");
        RedisUtils.getInstence().jedis.set("age", "25");
        RedisUtils.getInstence().jedis.set("sex", "男");
        RedisUtils.getInstence().printsAll();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值