// 测试 hsetnx
jedis.hsetnx(“car”,“country”,“US”);
System.out.println(jedis.hgetAll(“car”));
// 测试给某一个字段自增
jedis.hincrBy(“car”,“price”,1);
jedis.hincrByFloat(“car”,“price”,0.99);
System.out.println(jedis.hget(“car”,“price”));
// 测试 删除字段
System.out.println(jedis.hdel(“car”, “price”, “non-exist-field”));
}
}
连接成功
服务正在运行: PONG
——————————————————————————————————————————
white
999998
4
{color=white, owner=jsy, price=999998, kind=bmw}
[color, owner, price, kind]
[white, 999998, bmw, jsy]
true
false
{owner=jsy, country=US, color=white, price=999998, kind=bmw}
999999.98999999999068677
1
import redis.clients.jedis.Jedis;
public class ListInJedis {
public static void main(String[] args) {
Jedis jedis = new Jedis(“localhost”);
System.out.println(“连接成功”);
System.out.println("服务正在运行: "+jedis.ping());
System.out.println(“——————————————————————————————————————————”);
// 先清空一下
jedis.flushAll();
// 测试 lpush、rpush
jedis.lpush(“list”,“2”,“1”);
jedis.rpush(“list”,“3”,“4”);
System.out.println(jedis.lrange(“list”,0,-1));
// 测试删除
jedis.lpop(“list”);
jedis.rpop(“list”);
System.out.println(jedis.llen(“list”));
System.out.println(jedis.lrange(“list”,0,-1));
jedis.lpop(“list”);
jedis.lpop(“list”);
// 此时 list为空
for(int i=0;i<10;i++) jedis.rpush(“list”,“”+i);
System.out.println(jedis.lrange(“list”,0,-1));
// 测试 lrange(key,start,end);
System.out.println(jedis.lrange(“list”,0,-1));
System.out.println(jedis.lrange(“list”,1,2));
System.out.println(jedis.lrange(“list”,3,-2));
// 测试线性表的get、set方法
System.out.println(jedis.lindex(“list”,3));
System.out.println(jedis.lindex(“list”,-2));
jedis.lset(“list”,0,“10”);
System.out.println(jedis.lrange(“list”, 0, -1));
// 测试 list 的删除元素的功能
// 按索引 保留 [start,end]
jedis.ltrim(“list”,3,8);
// 按元素去删
jedis.lrem(“list”,1,“5”);
System.out.println(jedis.lrange(“list”, 0, -1));
}
}
连接成功
服务正在运行: PONG
——————————————————————————————————————————
[1, 2, 3, 4]
2
[2, 3]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2]
[3, 4, 5, 6, 7, 8]
3
8
[10, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[3, 4, 6, 7, 8]
import redis.clients.jedis.Jedis;
import java.util.Set;
public class SetInJedis {
public static void main(String[] args) {
Jedis jedis = new Jedis(“localhost”);
System.out.println(“连接成功”);
System.out.println("服务正在运行: "+jedis.ping());
System.out.println(“——————————————————————————————————————————”);
// 先清空一下
jedis.flushAll();
// 测试 sadd、srem
jedis.sadd(“set”,“1”,“2”,“2”,“3”,“4”);
System.out.println(jedis.smembers(“set”));
jedis.srem(“set”,“2”,“5”);
System.out.println(jedis.smembers(“set”));
// 元素是否在集合中
System.out.println(jedis.sismember(“set”,“2”));
System.out.println(jedis.sismember(“set”,“1”));
// 获取集合元素的个数
System.out.println(jedis.scard(“set”));
// 测试集合的交集、并集、差集
// 几个用于测试集合
jedis.sadd(“set1”,“1”,“2”,“3”);
jedis.sadd(“set2”,“1”,“2”,“4”);
jedis.sadd(“set3”,“2”,“3”,“6”);
// 并集
Set res1 = jedis.sunion(“set1”,“set2”,“set3”);
System.out.println(res1);
// 交集
Set res2 = jedis.sinter(“set1”,“set2”,“set3”);
System.out.println(res2);
// 差集
Set res3 = jedis.sdiff(“set1”,“set2”,“set3”);
System.out.println(res3);
// 集合中间的元算,还可以存储到Redis中。
jedis.sunionstore(“st1”,“set1”,“set2”,“set3”);
jedis.sinterstore(“st2”,“set1”,“set2”,“set3”);
jedis.sdiffstore(“st3”,“set1”,“set2”,“set3”);
System.out.println(jedis.smembers(“st1”));
System.out.println(jedis.smembers(“st2”));
System.out.println(jedis.smembers(“st3”));
}
}
连接成功
服务正在运行: PONG
——————————————————————————————————————————
[1, 2, 3, 4]
[1, 3, 4]
false
true
3
[1, 2, 3, 4, 6]
[2]
[]
[1, 2, 3, 4, 6]
[2]
[]
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class ZSetInJedis {
public static void main(String[] args) {
Jedis jedis = new Jedis(“localhost”);
System.out.println(“连接成功”);
System.out.println("服务正在运行: "+jedis.ping());
System.out.println(“——————————————————————————————————————————”);
// 先清空一下
jedis.flushAll();
// 测试有序集合的增加功能
jedis.zadd(“student_score”,100,“张三”);
Map<String,Double> map = new HashMap<>();
map.put(“李四”,80.0);
map.put(“王五”,90.0);
map.put(“陈二”,60.0);
jedis.zadd(“student_score”,map);
// 获取有序集合某个元素的分数、排名
System.out.println(jedis.zscore(“student_score”,“李四”));
System.out.println(jedis.zrank(“student_score”,“李四”));
System.out.println(jedis.zscore(“student_score”,“张三”));
System.out.println(jedis.zrank(“student_score”,“张三”));
// 按名次顺序检索元素(及其分数)
System.out.println();
System.out.println(“按名次顺序检索元素(及其分数) ——————————————————————\n”);
// 返回 索引 [0,2]的元素
System.out.println(jedis.zrange(“student_score”,0,2));
// 返回 索引 [1,3]的元素及分数
Set s = jedis.zrangeWithScores(“student_score”,1,3);
for(Tuple tuple:s){
System.out.println(“元素: “+tuple.getElement()+” 分数:”+tuple.getScore());
}
// 降序返回
System.out.println(jedis.zrevrange(“student_score”, 0, 2));
System.out.println(jedis.zrevrangeWithScores(“student_score”, 1, 3));
// 按分数范围检索元素
System.out.println();
System.out.println(“按分数范围检索元素 ———————————————————— \n”);
// 获取分数在 [80,100]的元素
System.out.println(jedis.zrangeByScore(“student_score”,80,100));
// 降序返回
System.out.println(jedis.zrevrangeByScore(“student_score”, 100, 80));
// 获取分数在 [80,100]的元素(包括分数)
System.out.println(jedis.zrangeByScoreWithScores(“student_score”,80,100));
// 降序返回
System.out.println(jedis.zrevrangeByScoreWithScores(“student_score”,100,80));
// 返回分数大于等于70的,从第2个元素开始,且不超过2个元素,
System.out.println(jedis.zrangeByScoreWithScores(“student_score”,70,Integer.MAX_VALUE,1,2));
// 返回有序集合的基数
System.out.println(jedis.zcard(“student_score”));
// 统计分数在 [min,max]的元素的个数
System.out.println(jedis.zcount(“student_score”, 75, 95));
// 测试 删除元素的功能
System.out.println(“直接删除、按排名范围删除、按分数范围删除”);
System.out.println("当前有元素: "+jedis.zrangeWithScores(“student_score”,0,-1));
// 直接删除
jedis.zrem(“student_score”,“张三”);
System.out.println(jedis.zrangeWithScores(“student_score”,0,-1));
// 按照排名范围删除
jedis.zremrangeByRank(“student_score”,1,1);
System.out.println(jedis.zrangeWithScores(“student_score”,0,-1));
// 按分数范围删除
jedis.zremrangeByScore(“student_score”,70,95);
System.out.println(jedis.zrangeWithScores(“student_score”,0,-1));
// 有序集合的集合之间的操作 ( 并、交、差 ) 类似 集合之间的操作,这里略去
}
}
连接成功
服务正在运行: PONG
——————————————————————————————————————————
80.0
1
100.0
3
按名次顺序检索元素(及其分数) ——————————————————————
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
总结
在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
72771)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-p10Ti1Cw-1712663672772)]
总结
在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了
[外链图片转存中…(img-mFAxIc6A-1712663672772)]
[外链图片转存中…(img-JKdtasrb-1712663672773)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-z7IpMwye-1712663672773)]