栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

Jedis基本使用教程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Jedis基本使用教程

1 Redis基本数据类型:
	String  字符串
	List  列表
	Hash  散列
	Set  集合
	Sorted Set  有序集合
2 Jedis 介绍 jedis的2种使用方式:
  1. 通过单一连接方式使用,每次创建都会建立TCP连接,可适用于应用场景不太复杂的;

  2. 通过JedisPool连接池使用,连接池初始化后,每次连接从连接池中取,使用完放回,不用每次都新建TCP连接,开销较小,适用于较为复杂的使用场景,需要配置一些连接池参数。

3 项目中使用

3.1 引入依赖


        redis.clients
        jedis
        2.9.0
 

3.2 单一连接使用

Jedis jedis = new Jedis(ip,port,timeout);

3.3 JedisPool 连接池

public  class RedisUtil {
    private static Logger logger = Logger.getLogger(RedisUtil.class);
    private static String ADDR = "xx.xx.xx.xx";
    private static int PORT = 6379;
    private static int MAX_TOTAL = 8;
    private static int MIN_IDLE=0;
    private static int MAX_IDLE = 1000;
    private static int MAX_WAIT = -1;
    private static int TIMEOUT = 10000;
    private static boolean BLOCK_WHEN_EXHAUSTED = true;
    private static String EVICTION_POLICY_CLASSNAME="org.apache.commons.pool2.impl.DefaultEvictionPolicy";
    private static boolean JMX_ENABLED=true;
    private static String JMX_NAME_PREFIX="pool";
    private static boolean LIFO=true;
    private static long MIN_EVICTABLE_IDLE_TIME_MILLIS=1800000L;
    private static long SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS=1800000L;
    private static int NUM_TESTS_PER_EVICYION_RUN=3;
    private static boolean TEST_ON_BORROW = false;
    private static boolean TEST_WHILEIDLE=false;
    private static long TIME_BERWEEN_EVICTION_RUNS_MILLIS=-1;
    private static JedisPool jedisPool = null;
    
    static {
        try {
            JedisPoolConfig config = new JedisPoolConfig();
            config.setBlockWhenExhausted(BLOCK_WHEN_EXHAUSTED);
            config.setEvictionPolicyClassName(EVICTION_POLICY_CLASSNAME);
            config.setJmxEnabled(JMX_ENABLED);
            config.setJmxNamePrefix(JMX_NAME_PREFIX);
            config.setLifo(LIFO);
            config.setMaxIdle(MAX_IDLE);
            config.setMaxTotal(MAX_TOTAL);
            config.setMaxWaitMillis(MAX_WAIT);
            config.setMinEvictableIdleTimeMillis(MIN_EVICTABLE_IDLE_TIME_MILLIS);
            config.setMinIdle(MIN_IDLE);
            config.setNumTestsPerEvictionRun(NUM_TESTS_PER_EVICYION_RUN);
            config.setSoftMinEvictableIdleTimeMillis(SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
            config.setTestOnBorrow(TEST_ON_BORROW);
            config.setTestWhileIdle(TEST_WHILEIDLE);
            config.setTimeBetweenEvictionRunsMillis(TIME_BERWEEN_EVICTION_RUNS_MILLIS);
            jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT);
        } catch (Exception e) {
            logger.error("Redis连接池 初始化异常" + e);
            e.printStackTrace();
        }
    }
    
    public static Jedis getJedis() {
        return  jedisPool.getResource();
    }
    
    public static void closeJedis(Jedis jedis) {
            jedis.close();
    }
}

3.4 常用方法

// String
jedis.set("name","LiMing");   
jedis.get("name");
jedis.del("name");
// List
jedis.lpush("user","LiMing");
jedis.lindex("user",1);
jedis.lset("user",0,"DaBai");
jedis.lrange("user",0,2);
// Hash
jedis.hset("age","LiMing","1");
jedis.hvals("age");
jedis.hexists("age","XiaoHong");
jedis.hgetAll("age");
jedis.hdel("age","LiMing");
jedis.hsetnx("age","ZhangSheng","20");
// Set
jedis.sadd("num","1");
jedis.smembers("num");
jedis.scard("num");
jedis.sismember("num","2");
jedis.srem("num","2");

Sorted Set 使用与Set相近

4 可视化工具推荐

Another Redis Desktop Manager
可自行选择版本下载,这是我目前使用起来相对较为方便的Redis可视化工具
PS:
1 、 在代码开发阶段,可将Redis的配置文件中 bind 127.0.0.1 注释掉,后续可根据实际部署需求决定是否删除该注释。
2、 一般设置仅本机访问时,redis连接可不设置密码,放在外网的Redis服务,若短暂启用远程访问,建议设置个密码,否则容易被攻击,造成内存紧张,redis崩溃。

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/358512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号