Redis系统学习之Java操作RedisAPI(Jedis)
基础API之Jedis
- 采用Java操作Redis的客户端,其实就是Jar包
- 官方推荐使用的
创建项目
- new Project
- 创建完空项目后,会让添加模块
- 创建一个MAVEN项目
- 如果JDK没有的话选择一下就好了
- 默认是没有的,我是选择过了的
- 最后点击右下角的OK,项目创建完成
导入Maven依赖
<!-- redis jedis客户端jar--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> </dependency> <!-- fastJson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.73</version> </dependency>
开放端口(Centos7)
[root@localhost bin]# firewall-cmd --zone=public --add-port=6379/tcp --permanent success [root@localhost bin]# firewall-cmd --reload success [root@localhost bin]#
编码测试
- 在JAVA文件夹下创建
- 暂时不调用远程的Redis,在本地启动一台Windows的,操作参考Redis安装windows安装
- TestPing.java
package com.dance.test; import redis.clients.jedis.Jedis; public class TestPing { public static void main(String[] args) { // 创建连接 Jedis jedis = new Jedis("localhost",6379); // 如果需要密码 采用auth方法认证 // jedis.auth("密码"); System.out.println(jedis.ping()); jedis.close(); } } 执行结果 PONG Process finished with exit code 0
常用的API的话,和上面直接在Redis中执行的命令差不多,会有提示,并且在使用的时候可以百度一下
String
jedis.flushDB();// 清空选中的库 jedis.flushAll();// 清空全部库 jedis.set("username","xiaojiejie");// 添加字符串 jedis.get("username");// 获取字符串 jedis.keys("*");// 获取全部key jedis.setex("user",10,"zhangsan");// 设置10秒过期 jedis.append("user","lisi");// 追加 jedis.set("number","1"); jedis.incr("number");//累加 jedis.decr("number");//累减 jedis.incrBy("number",5);// 设置步长 jedis.decrBy("number",5);//设置步长 jedis.setnx("sync","sync");//不存在再设置 jedis.mset("age","18","notlove","葱花香菜");// 设置多个值 jedis.mget("age","notlove");// 获取多个值 jedis.strlen("number");//获取长度 jedis.substr("user",0,1);// 截取字符串 jedis.setrange("user",1,"kele");// 替换字符串
List
jedis.lpush("list","k1","k2");// 左边添加元素 jedis.rpush("list","k3","k4");// 右边添加元素 jedis.lrange("list",0,-1);// 获取全部值 jedis.lpop("list");//移除并返回左边第一个元素 jedis.rpop("list");//移除并返回右边第一个元素 jedis.lindex("list",1);//根据下标获取元素 jedis.llen("list");//获取集合元素长度 jedis.lrem("list",1,"k1");// 移除一个值为k1的元素 因为存在重复可以移除多个 jedis.ltrim("list",0,1);// 截取元素,抛弃其他的 jedis.rpoplpush("list","list1");//从list右边移除一个添加到list1的左边 jedis.lset("list",3,"sss");//将索引3的位置的值设置为sss jedis.linsert("list", ListPosition.AFTER,"k1","kk");//在k1后面插入kk jedis.del("list");// 删除指定的Key
Set Hash Zset Geo hyperLoglog bitmaps都差不多 就不全写了
事物(这个还是写一下吧,这个因为是调用返回值的)
jedis.unwatch();// 取消监视 jedis.watch("key");// 监视key Transaction multi = jedis.multi(); // 开启事物 multi.set("k1","k2");// 命令入队 multi.lpush("list2","llll");// 命令入队 multi.get("list");// 命令入队 multi.exec();//提交事物 multi.discard();// 取消事物
作者:彼岸舞
时间:2021\05\05
内容关于:Redis
本文属于作者原创,未经允许,禁止转发