给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
password:
### 2.2 代码实现及调用方法
// 工具类
@Component
public class JedisUtil {
@Autowired
private JedisConfig jedisConfig;
// 管理单个Jedis对象【这里可以使用Map管理多个对象,有需求的小伙伴可以发挥一下】
private Jedis jedis;
public synchronized String setCache(String key, String value) {
if (jedis == null) {
String host = jedisConfig.getHost();
int port = jedisConfig.getPort();
int database = jedisConfig.getDatabase();
// 初始化Redis客户端
jedis = new Jedis(host, port);
// 切换数据库
jedis.select(database);
}
return jedis.set(key, value);
}
}
// 代码调用
// 使用时类注入对象
@Autowired
private JedisUtil jedisUtil;
// 调用
jedisUtil.setCache(key, value);
### 2.3 升级版
// 管理多个Jedis对象
@Component
public class JedisManagerUtil {
@Autowired
private JedisConfig jedisConfig;
/\*\*
* 统一管理Jedis对象
*/
private Map<Integer, Jedis> jedisMap = new HashMap<>(16);
/\*\*
* 写入数据
*
* @param key redis的key
* @param value redis的value
* @param database 写入的库index
* @return 写入结果
*/
public synchronized String setCache(String key, String value, int database) {
if (!jedisMap.containsKey(database)) {
String host = jedisConfig.getHost();
int port = jedisConfig.getPort();
Jedis jedis = new Jedis(host, port);
jedis.select(database);
jedisMap.put(database, jedis);
return jedis.set(key, value);
} else {
Jedis jedis = jedisMap.get(database);
return jedis.set(key, value);
}
}
}
// 测试调用
@SpringBootTest
class JedisApplicationTests {
@Autowired
private JedisManagerUtil jedisManagerUtil;
@Test
void jedisManagerUtilTest() {
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!