String 的一些案例
428字约1分钟
2024-08-10
博客发布相关操作
字符串操作涉及 api
msetnx:批量添加 key,且当 key 不存在时候才添加
mget:批量获取 key 的内容
strlen:获取字符串内容长度
getrange:截取部分内容,用作一些预览
setnx:单个添加 key,且当 key 不存在时候才添加
append:追加内容
incr:计数增加 1
public void blogPublish() {
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 博客的发布
Long publishBlogResult = jedis.msetnx("article:1:title", "学习Redis",
"article:1:content", "如何学好Redis的使用",
"article:1:author", "MaRui",
"article:1:time", "2021-08-28 06:46:22");
System.out.println("博客发布的结果:" + publishBlogResult);
List<String> blog = jedis.mget("article:1:title", "article:1:content",
"article:1:author", "article:1:time");
System.out.println("查看博客:" + blog);
String updateBlogResult = jedis.mset("article:1:title", "修改学习Redis",
"article:1:content", "修改如何学好Redis的使用");
System.out.println("修改博客的结果:" + updateBlogResult);
blog = jedis.mget("article:1:title", "article:1:content",
"article:1:author", "article:1:time");
System.out.println("再次查看博客:" + blog);
Long blogLength = jedis.strlen("article:1:content");
System.out.println("博客内容长度统计:" + blogLength);
String blogContentPreview = jedis.getrange("article:1:content", 0, 5);
System.out.println("博客内容预览:" + blogContentPreview);
// 操作日志的审计功能
jedis.del("operation_log_2021_08_28");
jedis.setnx("operation_log_2021_08_28", "");
for (int i = 1; i < 10; i++) {
jedis.append("operation_log_2021_08_28", "今天的第" + i + "条操作日志\n");
}
String operationLog = jedis.get("operation_log_2021_08_28");
System.out.println("今天所有的操作日志:" + operationLog);
// 简单的唯一 ID 生成器(实际生产别这样用)
Long orderId;
for (int i = 1; i < 10; i++) {
orderId = jedis.incr("order_id_counter");
System.out.println("生成的第" + i + "个唯一ID:" + orderId);
}
// 博客的点赞计数器
jedis.del("article:1:like");
for (int i = 0; i < 10; i++) {
jedis.incr("article:1:like");
}
Long likeNum = Long.valueOf(jedis.get("article:1:like"));
System.out.println("博客点赞次数:" + likeNum);
jedis.decr("article:1:like");
likeNum = Long.valueOf(jedis.get("article:1:like"));
System.out.println("再次查看博客点赞次数:" + likeNum);
jedis.close();
}