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

Redis在Java中基本实现

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

Redis在Java中基本实现

Maven必须配置


    
    
        redis.clients
        jedis
        2.9.0
    
    
    
        junit
        junit
        4.12
        
        test
    

    
        org.testng
        testng
        6.14.3
        test
    


    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.0
            
                1.8
                1.8
                UTF-8
                
            
        
    

Java实现

package cn.itcast.redis.api_test;

import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

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

public class RedisTest {

    // redis连接池
    private JedisPool jedisPool;

    
    @BeforeTest
    public void beforeTest(){
        // 创建Redis池配置对象JedisPoolConfig
        JedisPoolConfig config = new JedisPoolConfig();
        // 设置最大空闲连接数
        config.setMaxIdle(10);
        // 设置最小空闲连接
        config.setMinIdle(5);
        // 设置最大等待时间(毫秒)
        config.setMaxWaitMillis(3000);
        // 设置最大连接数
        config.setMaxTotal(50);
        
        // 创建Redis池对象JedisPool
        jedisPool = new JedisPool(config, "node1");

    }

   
    
    @Test
    public void stringTest(){
        // 获取一个redis连接
        Jedis jedis = jedisPool.getResource();

        // 添加一个String数据类型,key为pv,值为0
        jedis.set("pv", "0");
        // 查询改key对应的数据
        System.out.println("pv: " + jedis.get("pv"));
        // 修改pv为1000
        jedis.set("pv", "1000");
        // 实现整型数据原子自增操作+1
        jedis.incr("pv");
        // 实现整型数据原子自增操作+1000
        jedis.incrBy("pv", 1000);

        System.out.println(jedis.get("pv"));

        // 归还连接池中
        jedis.close();
    }

    
    @Test
    public void hashTest(){
        // 获取redis连接
        Jedis jedis = jedisPool.getResource();

        // 用Hash类型创建商品和库存数据
        jedis.hset("goods", "iphone", "10000");
        jedis.hset("goods", "redmi", "20000");
        // 获取Hash中所有商品
        Set goodsSet = jedis.hkeys("goods");
        for (String goods : goodsSet) System.out.println(goods);
        // 新增3000个redmi库存
        jedis.hincrBy("goods", "redmi", 3000);
        // 删除整个Hash
        jedis.del("goods");
        
        // 归还链接
        jedis.close();
    }

    
    @Test
    public void listTest(){
        // 获取redis连接
        Jedis jedis = jedisPool.getResource();

        // 向List中插入三个手机号
        jedis.lpush("phone", "11111111111", "22222222222", "33333333333");
        // 从右边移除一个手机号
        jedis.rpop("phone");
        // 获取所有的值
        List phoneList = jedis.lrange("phone", 0, -1);
        for (String phone : phoneList) {
            System.out.println(phone);
        }

        // 归还连接
        jedis.close();
    }

    
    @Test
    public void setTest(){
        // 获取连接
        Jedis jedis = jedisPool.getResource();

        // 往set中添加页面page1的uv(独立用户不重复),用户user1访问一次该页面
        jedis.sadd("uv", "user1");
        // user2 访问了一次
        jedis.sadd("uv", "user2");
        // user1 再次访问
        jedis.sadd("uv", "user1");
        // 获取page1的pv值
        System.out.println("uv:" + jedis.scard("uv"));

        // 归还连接
        jedis.close();
    }

    
    @AfterTest
    public void afterTest(){
        // 关闭连接池
        jedisPool.close();
    }
}

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

版权所有 (c)2021-2022 MSHXW.COM

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