jedis.close();
}
@Test
public void testKeys() {
// 删除一个key
jedis.del(“name”);
// 删除多个key
jedis.del(“name”, “age”);
// 设置一个key
jedis.set(“age”, “hello”);
// 判断一个key是否存在
Boolean name = jedis.exists(“name”);
System.out.println(name);
// 设置一个key超时时间
Long age = jedis.expire(“age”, 100);
System.out.println(age);
// 获取一个key超时时间
Long ttl = jedis.ttl(“age”);
System.out.println(ttl);
// 随机获取一个key
String s = jedis.randomKey();
// 修改key名称
jedis.rename(“age”, “newage”);
// 查看对应值的类型
String type1 = jedis.type(“name”);
System.out.println(type1);
String type2 = jedis.type(“maps”);
System.out.println(type2);
}
}
===================================================================================
| 命令 | 说明 |
| — | — |
| set | 设置一个key/value |
| get | 根据key获得对应的value |
| mset | 一次设置多个key value |
| mget | 一次获得多个key的value |
| getset | 获得原始key的值,同时设置新值 |
| strlen | 获得对应key存储value的长度 |
| append | 为对应key的value追加内容 |
| getrange 索引0开始 | 截取value的内容 |
| setex | 设置一个key存活的有效期(秒) |
| psetex | 设置一个key存活的有效期(毫秒) |
| setnx | 存在不做任何操作,不存在添加 |
| msetnx原子操作(只要有一个存在不做任何操作) | 可以同时设置多个key,只要有一个存在都不保存 |
| decr | 进行数值类型的-1操作 |
| decrby | 根据提供的数据进行减法操作 |
| incr | 进行数值类型的+1操作 |
| incrby | 根据提供的数据进行加法操作 |
| incrbyfloat | 根据提供的数据加入浮点数 |
public class TestString {
private Jedis jedis;
@Before
public void before() {
jedis = new Jedis(“192.168.3.65”, 6379);
}
@After
public void after() {
jedis.close();
}
@Test
public void testString() {
jedis.set(“name”, “zhenyu”); // set
String name = jedis.get(“name”); // get
System.out.println(name);
jedis.mset(“content”, “好人”, “address”, “苏州市”); // mset
List mget = jedis.mget(“name”, “content”, “address”); // mget
mget.forEach(v -> System.out.println("v = " + v));
String set = jedis.getSet(“name”, “yusael”);
System.out.println(set);
// …
}
}
=================================================================================
| 命令 | 说明 |
| — | — |
| lpush | 将某个值加入到一个key列表头部 |
| lpushx | 同lpush,但是必须要保证这个key存在 |
| rpush | 将某个值加入到一个key列表末尾 |
| rpushx | 同rpush,但是必须要保证这个key存在 |
| lpop | 返回和移除列表左边的第一个元素 |
| rpop | 返回和移除列表右边的第一个元素 |
| lrange | 获取某一个下标区间内的元素 |
| llen | 获取列表元素个数 |
| lset | 设置某一个指定索引的值(索引必须存在) |
| lindex | 获取某一个指定索引位置的元素 |
| lrem | 删除重复元素 |
| ltrim | 保留列表中特定区间内的元素 |
| linsert | 在某一个元素之前,之后插入新元素 |
public class TestList {
private Jedis jedis;
@Before
public void before() {
jedis = new Jedis(“192.168.3.65”, 6379);
}
@After
public void after() {
jedis.close();
}
@Test
public void testList() {
jedis.flushDB(); // 清除当前数据库
jedis.lpush(“names1”, “1”, “2”, “3”, “4”, “5”); // lpush
jedis.rpush(“names1”, “a”, “b”, “c”, “d”, “e”); // rpush
List names1 = jedis.lrange(“names1”, 0, -1);
names1.forEach(v -> System.out.println("name = " + v));
String name = jedis.lpop(“names1”); // lpop rpop
System.out.println(name); // 5
System.out.println(jedis.llen(“names1”)); // llen
// names1 中 2 左边插入一个 world
Long linsert = jedis.linsert(“names1”, BinaryClient.LIST_POSITION.BEFORE, “2”, “world”);// linsert
System.out.println("linsert: " + linsert);
names1 = jedis.lrange(“names1”, 0, -1);
names1.forEach(v -> System.out.println("name = " + v));
// …
}
}
=================================================================================
| 命令 | 说明 |
| — | — |
| sadd | 为集合添加元素 |
| smembers | 显示集合中所有元素 无序 |
| scard | 返回集合中元素的个数 |
| spop | 随机返回一个元素 并将元素在集合中删除 |
| smove | 从一个集合中向另一个集合移动元素 必须是同一种类型 |
| srem | 从集合中删除一个元素 |
| sismember | 判断一个集合中是否含有这个元素 |
| srandmember | 随机返回元素 |
| sdiff | 去掉第一个集合中其它集合含有的相同元素 |
| sinter | 求交集 |
| sunion | 求和集 |
public class TestSet {
private Jedis jedis;
@Before
public void before() {
jedis = new Jedis(“192.168.3.65”, 6379);
}
@After
public void after() {
jedis.close();
}
@Test
public void testSet() {
jedis.sadd(“names”,“zhangsan”, “lisi”);
Set names = jedis.smembers(“names”);
names.forEach(v -> System.out.println("v = " + v));
Boolean sismember = jedis.sismember(“names”, “zhenyu”);
System.out.println(sismember);
}
}
=================================================================================
| 命令 | 说明 |
| — | — |
| zadd | 添加一个有序集合元素 |
| zcard | 返回集合的元素个数 |
| zrange 升序 zrevrange 降序 | 返回一个范围内的元素 |
| zrangebyscore | 按照分数查找一个范围内的元素 |
| zrank | 返回排名 |
| zrevrank | 倒序排名 |
| zscore | 显示某一个元素的分数 |
| zrem | 移除某一个元素 |
| zincrby | 给某个特定元素加分 |
public class TestZSet {
private Jedis jedis;
@Before
public void before() {
jedis = new Jedis(“192.168.3.65”, 6379);
}
@After
public void after() {
jedis.close();
}
@Test
public void testZSet() {
jedis.zadd(“zset”, 8, “张三”);
jedis.zadd(“zset”, 5, “李四”);
jedis.zadd(“zset”, 7, “王五”);
jedis.zadd(“zset”, 2, “赵六”);
jedis.zadd(“zset”, 33, “Win7”);
jedis.zadd(“zset”, 6, “Win8”);
jedis.zadd(“zset”, 77, “Win9”);
Set names = jedis.zrange(“zset”, 0, -1);
names.forEach(v -> System.out.println(“v = " + v +”, zscore = " + jedis.zscore(“zset”, v)));
Long zcard = jedis.zcard(“zset”);
System.out.println(zcard);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/a82cde369c77f568a84d8f72ad084b71.jpeg)
最后
光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性
Java面试宝典2021版
最常见Java面试题解析(2021最新版)
2021企业Java面试题精选
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
最后
光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性
Java面试宝典2021版
[外链图片转存中…(img-teG7f780-1711807667991)]
[外链图片转存中…(img-YPr7gi9s-1711807667992)]
最常见Java面试题解析(2021最新版)
[外链图片转存中…(img-VePLaaf3-1711807667992)]
[外链图片转存中…(img-56J1W1J6-1711807667992)]
2021企业Java面试题精选
[外链图片转存中…(img-1lWKWtcZ-1711807667993)]
[外链图片转存中…(img-Ddb84nvr-1711807667993)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!