可执行文件 | 作用 |
redis-server | 启动redis |
redis-cli | redis命令行工具 |
redis-benchmark | 基准测试工具 |
redis-check-aof | AOP持久化文件检测工具和修复工具 |
redis-check-dump | RDB持久化文件检测工具和修复工具 |
redis-sentinel | 启动redis-sentinel |
ip:port
的客户端redis.conf
文件进行改写message
发送到指定的频道 channel
例如
publish msg "good morning"
public class MyRedis {// 连接对象 localhost 为本机 如果是远程连接换位IP 6379是端口号private Jedis jedis = new Jedis("localhost", 6379);/*** 测试连接*/@Testpublic void myTest1() {System.out.println(jedis.ping());jedis.set("hello", "第一个string");System.out.println(jedis.get("hello"));jedis.close();}/*** 操作String*/@Testpublic void test_String() {jedis.flushAll();// 获取Jedis对象// 添加一条数据jedis.set("name", "王世磊");// 根据key找到对应的value的值System.out.println(jedis.get("name"));// 多次对key进行设置值,则最后一次会覆盖之前的值(没有类似update)// 字符串拼接jedis.append("name", "很帅");System.out.println(jedis.get("name"));// 删除某个键jedis.set("p3", "4");jedis.del("p3");// 同时设置多个键值对:获取值的方式同上jedis.mset("m1", "1", "m2", "2", "m3", "3", "m4", "4", "m5", "5", "m6", "6", "m7", "7", "m8", "8");System.out.println(jedis.mget("m1", "m2", "m3", "m4", "m5", "m6", "m7", "m8").toString());// 假如值里面有数字(字符串形式),可以进行+1的操作(incr)jedis.set("n1", "1");jedis.incr("n1");System.out.println(jedis.get("n1"));// 进行-1的操作(decr)jedis.decr("n1");System.out.println(jedis.get("n1"));// 某个值增加多少(incrBy)jedis.set("p2", "4");jedis.incrBy("p2", 5);System.out.println(jedis.get("p2"));// 某个值减少多少(decrBy)jedis.incrBy("p2", 2);System.out.println(jedis.get("p2"));// 判断是否存在某个key(exists)System.out.println(jedis.exists("a1"));System.out.println(jedis.exists("p1"));// 设置值的时间:存在5s(setex)jedis.setex("s1", 5, "4");// 查询值的存活时间:当 key不存在时,返回 -2,当key存在但没有设置剩余生存时间时,返回-1,jedis.setex("s2", 200, "4");jedis.set("s3", "4");// 当key存在且设定有存活时间 以秒为单位,返回key的剩余生存时间(ttl)System.out.println(jedis.ttl("s2"));// 当key不存在System.out.println(jedis.ttl("s100"));// 当key存在 但是没有设定存活时间System.out.println(jedis.ttl("s3"));// 去掉key的时间设置:不再有失效时间(persist)jedis.persist("s2");System.out.println(jedis.ttl("s2"));// 关闭连接 jedis.close();}/*** 操作List*/@Testpublic void test_List() {jedis.flushAll();// 保存数据:lpush-->left pushjedis.lpush("l1", "数据1", "数据2", "数据3");// 查询:第一个值是key,第二个值表示从0开始,第三个值表示结束(-1表示取全部)(lrange)System.out.println(jedis.lrange("l1", 0, -1));// userListA当中的值排列情况:["Kevin Durant","stephen curry","kobe bryant","king james"]// 保存数据:rpush-->right pushjedis.rpush("userListA", "Kevin Durant", "stephen curry", "kobe bryant", "king james");// 查询:第一个值是key,第二个值表示从0开始,第三个值表示结束(-1表示取全部)System.out.println(jedis.lrange("userListA", 0, -1));/** userListB当中值排列情况:["Kevin Durant","stephen curry","kobe bryant","king* james","Wilt Chamberlain","John Smith","Karl Malone"]*/jedis.rpush("userListB", "Kevin Durant", "stephen curry", "kobe bryant", "king james", "Wilt Chamberlain","John Smith", "Karl Malone");// 移除并返回列表key的头元素:lpop-->left popSystem.out.println(jedis.lpop("userListB"));// 移除并返回列表key的尾元素:rpop-->right popSystem.out.println(jedis.rpop("userListB"));// 删除keyjedis.del("l1");System.out.println(jedis.get("l1"));// 查询特定位置的值:idnex从0开始(lindex)System.out.println(jedis.lindex("userListA", 1));// 对list进行裁剪:只保留下标1-3的值,其他的全部删除,下标从0开始(ltrim)System.out.println(jedis.ltrim("userListA", 1, 3));System.out.println(jedis.lrange("userListA", 0, -1));// 根据参数count的值,移除列表中与参数value相等的元素。jedis.rpush("list1", "1", "1", "1", "1", "1", "2", "3", "4", "5", "6", "7", "8");System.out.println(jedis.lrange("list1", 0, -1));jedis.lrem("list1", 3, "1");System.out.println(jedis.lrange("list1", 0, -1));// lrem(key, count, value):删除count个key的list中值为value的元素jedis.rpush("list2", "1", "1", "3", "1", "1", "2", "3", "2", "3", "3", "4", "3", "5", "3", "1", "4", "2", "6","7", "5");// lpop(key):返回并删除名称为key的list中的首元素jedis.lpop("list2");System.out.println(jedis.lrange("list2", 0, -1));// rpop(key):返回并删除名称为key的list中的尾元素jedis.rpop("list2");System.out.println(jedis.lrange("list2", 0, -1));// 从users的右边弹出一个元素,把该元素左插入到players列表当中(rpoplpush)jedis.rpoplpush("list2", "list2");System.out.println(jedis.lrange("list2", 0, -1));}
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态