欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java代码如何使用Redis数据库(持续更新)

程序员文章站 2024-03-06 08:57:01
...

下载Redis:

  1. 下载压缩包

地址:https://pan.baidu.com/s/1UBOoef_Szdkrzd0rJ2BeZg
提取码:2gun
Java代码如何使用Redis数据库(持续更新)

2.解压到自定义的reids文件夹,解压后如图所示

Java代码如何使用Redis数据库(持续更新)

3.进自定义的redis文件夹,在地址栏输入cmd,点击回车

输入redis-server.exe redis.windows.conf
出现[9920] 17 Nov 10:00:12.064 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error则运行成功Java代码如何使用Redis数据库(持续更新)

4.现在进入自定义的文件夹打开reids-cli.exe出现弹窗

Java代码如何使用Redis数据库(持续更新)

5.ok目前你就可以在本地以cmd的方式使用redis了,接下来我会讲解如何在Java中使用redis数据库.

在Java中集成reids:

首先确保本地安装reids: 1.导入jar包
    <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
2.建立Jedis的全局变量
public class TestRedis {

    public static Jedis jedis =null;

    /**
     * @BeforeClass
     * 加载于静态方法之上一般,在所有方法执行前执行,只加载一次
     */
    @BeforeClass
    public static void init() {
        jedis = new Jedis("localhost");
        System.out.println(jedis.ping());
    }
}

Jedis对String的操作:

JAVA代码:
    @Test
    public void StringTest() throws InterruptedException {
        //set(key value)
        String set = jedis.set("key1", "value1");
        System.out.println(set);  //1.创建成功返回  "ok"  2.key的值如果一样,后一次添加的会覆盖之前的数据.

        //get(key)
        String get = jedis.get("key1");
        System.out.println(get);  //1.返回值为 "value1"

        //getSet(key value)  给key重新赋值,并且返回被重新赋值前的value
        String  getSet = jedis.getSet("key1","value2");
        System.out.println(getSet);
        System.out.println(jedis.get("key1"));

        //mget(key key1 key2 ...) 获取多个key对应的value
        List<String> mget = jedis.mget("key1","key2","key3","key4");
        for (String str : mget) {
            System.out.println(str);
        }

        //setnx(key  value)如果库不存在想要添加的key,就添加,可以避免覆盖
        Long setnx = jedis.setnx("key7","value7");
        System.out.println(setnx);  // 成功返回 1
        Long setnx1 = jedis.setnx("key7","value7");
        System.out.println(setnx1);  //失败返回 0

        //setex(key  time  value)向库中添加的同时,设置时间
        String setex = jedis.setex("key8",10,"value8");
        System.out.println(setex);
        for (int i = 0; i < 100; i++) {
            System.out.println(jedis.get("key8"));
            Thread.sleep(1000);
        }

        //mset(key value key1 value1 key2 value2 ...)
        String mset = jedis.mset("key11","value11","key12","value12");
        System.out.println(mset);  //返回值为ok

        //msetnx(key value key1 value1 key2 value2)  所有的值都不存在的时候就是保存
        Long msetnx = jedis.msetnx("key14","value1-1","key13","value12");
        System.out.println(msetnx);  //返回值 成功为1  失败为0

        //incr(key) 相当于value+1
        Long incr = jedis.incr("111");
        System.out.println(incr); //返回值为value+1 的值

       // incrby(key,integer) 相当于value+integer
        Long get1 = jedis.incrBy("111",6);
        System.out.println(get); //返回值为value+integer的值
        //decr(key) 相当于value-1
        //decr(key integer)  相当于value-integer

        //append("key" "content")
        Long append =jedis.append("111","connect");
        System.out.println(append); //返回值为value的长度

        //substr("key") 返回value串
        String substr = jedis.substr("111",0, -1);
        System.out.println(substr);  //0为起始位置,1为结尾位置
    }

Jedis对list的操作:

JAVA代码
   /**
     * Jedis对List的操作
     */
    @Test
    public void  ListTest(){
//        //rpush() 在名为key的list尾部添加数据
        Long rpush = jedis.rpush("key","1","2","3");
        System.out.println(rpush); //返回值为当前list数据的个数
//
        //lpush()  在名为key的list头部添加数据
        Long lpush = jedis.lpush("key","9","8","7");
        System.out.println(lpush); //返回值为当前list数据的个数
//
//        //llen()查询名为key的list的长度
        Long llen = jedis.llen("key");
        System.out.println(llen); //返回值为当前list的长度
//
      //  lrange("key",0 -1)查询当前list,0代表从头部,-1代表从尾部
        List<String> lrange = jedis.lrange("key1",0,-1);
        for (String str : lrange) {
            System.out.println(str);
        }

//        //ltrim(key  0 1)  截取名为key的list,保留起始到终止的元素
        String ltrim = jedis.ltrim("key",0,1);
        System.out.println(ltrim);  //返回值为 ok

//        //lindex(key  2) 返回名为key的list中位于index位置中的值
        String lindex = jedis.lindex("key",0);
        System.out.println(lindex);// 返回值为lindex位置的值

        //lset(key  index   value) 将list中index中的值赋为value
        String lset = jedis.lset("key",0,"999");
        System.out.println(lset);  //返回值为ok


        //lrem(key  count   value)删除count个名为key的value元素
        //当count =0 时删除所有
        //当count >0 时从头部删除count个value元素
        //当count <0 时从尾部删除count个value元素

        //lpop(key)删除并返回名为key的list中的首元素
        String lpop = jedis.lpop("key");
        System.out.println(lpop);

//        //rpop(key)删除并返回名为key的list中的尾元素
        String rpop = jedis.rpop("key");
        System.out.println(rpop);

        //blpop(timeout,key  key1 key2 ... )
        //当timeout = 0 的时候 若遇到keyn不存在或者key对应的list 为空时,命令结束
        //当timeout > 0 则等待timeout秒
        //如果问题没有解决就从key+1开始的list执行pop操作
        List<String> blpop = jedis.blpop(1000,"key","key1","key...");

        // rpoplpush(key  key1)删除key队尾元素,并添加到kye1的头部,并返回该值
        String rpoplpush = jedis.rpoplpush("key","key1");
        System.out.println(rpoplpush);
    }

解决方案:

提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。

相关标签: java jedis redis