七天玩转Redis | 第五天 Java操作Redis
学习内容
在实际开发中,如何是使用和操作Redis~~
一、Jedis类
(1)导入所需jar包
(2)Jedis类使用
Redis连接测试
public static void main(String[] args) throws InterruptedException {
// 新建Jedis类对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 测试Redis连接
System.out.println("redis连接测试:" + jedis.ping());
}
Redis数据操作
public static void main(String[] args) throws InterruptedException {
// 新建Jedis类对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
// 测试Redis连接
System.out.println("redis连接测试:" + jedis.ping());
// 判断某个键是否存在
System.out.println("判断某个键是否存在:" + jedis.exists("mykey"));
// 获取所有的键
Set<String> keys = jedis.keys("*");
System.out.println(keys);
// 根据key去删除键值对
System.out.println("删除键" + jedis.del("mykey"));
/**
* String类型
*/
// 设置一个键值对
jedis.set("mykey1", "myValue1");
jedis.set("mykey2", "myValue2");
jedis.set("mykey3", "myValue3");
// 根据索引获取一个数据的值
System.out.println("得到的数值为:" + jedis.get("mykey2"));
System.out.println("获取多个键值对:" + jedis.mget("mykey1", "mykey2", "mykey3"));
System.out.println("获取mykey1的数据的长度:" + jedis.strlen("mykey1"));
System.out.println("返回key中字符串值的子串:" + jedis.getrange("mykey2", 1, 5));
System.out.println("字符串追加:" + jedis.append("mykey3", "hello"));
System.out.println("获取到mykey3的值:" + jedis.get("mykey3"));
/**
* Hash类型
*/
// 设置一个Hash数据
Map<String, String> valueMap = new HashMap<>();
valueMap.put("name", "huixiaoyuan");
valueMap.put("sex", "男");
valueMap.put("age", "3");
System.out.println("设置一个Hash数据" + jedis.hmset("myHash", valueMap));
System.out.println("获取指定哈希表中所有的字段和值:" + jedis.hgetAll("myHash"));
System.out.println("获取存储在哈希表中指定字段的值:" + jedis.hget("myHash", "name"));
System.out.println("删除一个或多个哈希表字段:" + jedis.hdel("myHash", "sex"));
System.out.println("获取哈希表中字段的数量:" + jedis.hlen("myHash"));
/**
* List类型
*/
System.out.println("将一个或多个元素插入列表表头:" + jedis.lpush("myList", "l1", "l2", "l3"));
System.out.println("将一个或多个元素插入列表尾部:" + jedis.rpush("myList", "l4"));
System.out.println("获取列表长度:" + jedis.llen("myList"));
System.out.println("通过索引获取列表中的元素:" + jedis.lindex("myList", 2));
System.out.println("移除并获取列表第一个元素:" + jedis.lpop("myList"));
System.out.println("移除并获取列表最后一个元素:" + jedis.rpop("myList"));
/**
* Hash类型
*/
System.out.println("设置一个Hash数据" + jedis.hmset("myHash", valueMap));
System.out.println("获取指定哈希表中所有的字段和值:" + jedis.hgetAll("myHash"));
System.out.println("获取存储在哈希表中指定字段的值:" + jedis.hget("myHash", "name"));
System.out.println("删除一个或多个哈希表字段:" + jedis.hdel("myHash", "sex"));
System.out.println("获取哈希表中字段的数量:" + jedis.hlen("myHash"));
/**
* Set类型
*/
System.out.println("向集合中添加一个或多个成员:" + jedis.sadd("mySet","s1","s2","s3"));
System.out.println("向集合中添加一个或多个成员:" + jedis.sadd("mySet2","s3","s4","s5"));
System.out.println("获取集合中成员的个数:" + jedis.scard("mySet"));
System.out.println("返回第一个集合与其他集合之间的差异:" + jedis.sdiff("mySet","mySet2"));
System.out.println("返回集合中的所有元素:" + jedis.smembers("mySet"));
/**
*ZSet类型
*/
System.out.println("向有序集合中添加一个或多个成员:" + jedis.zadd("myZset",1,"m1"));
System.out.println("向有序集合中添加一个或多个成员:" + jedis.zadd("myZset",2,"m2"));
System.out.println("向有序集合中添加一个或多个成员:" + jedis.zadd("myZset",3,"m3"));
System.out.println("获取有序集合的成员数:" + jedis.zcard("myZset"));
System.out.println("计算有序集合中指定区间分数的成员数:" + jedis.zcount("myZset",0,2));
System.out.println("移除有序集合中的一个或多个元素:" + jedis.zrem("myZset","m2"));
}
二、Redis Tempate类介绍
Jedis一般可用于没有使用spring系列框架的场景,二Redis Tempate则用于企业利用框架的实际开发中
Redis Tempate类使用
redisTemplate.opsForValue(); 对应String类型操作
redisTemplate.opsForHash(); 对应Hash类型操作
redisTemplate.opsForList(); 对应List类型操作
redisTemplate.opsForSet(); 对应Set类型操作
redisTemplate.opsForZSet(); 对应ZSet类型操作
三、StringRedis Tempate类解
stringRedisTemplate.opsForValue(); 对应String类型操作
stringRedisTemplate.opsForHash(); 对应Hash类型操作
stringRedisTemplate.opsForList(); 对应List类型操作
stringRedisTemplate.opsForSet(); 对应Set类型操作
stringRedisTemplate.opsForZSet(); 对应ZSet类型操作
今日总结
对我这个java萌新来说比较难,需要多看看视频多理解理解
相关推荐
Java面试七天速通-八股文速记
内容概要: 坚持 7 天,短期内快速复习。 每天 10 题,弥补后端八股知识缺漏。 适用人群: 正在找工作,对于后端面试考核点缺少了解的人。 希望在 7-14 天 内准备后端面试,需要速查速记高频考点。 使用场景及目标: 跟着章节走,每天坚持每天进步。 将本资源用作面试突击小册,随时翻阅。 7 天完成面试突击,熟练掌握后端的高频考点,后端面试更有把握。
JavaEE电商项目8天速成
一个完整的JavaEE项目流程,其中包含代码
Sa-Token:这可能是史上功能最全的Java权限认证框架!目前已集成——登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0、踢人下线、Redis集成、前后台分离、记住我模式、模拟他人账号、临时身份切换、账号封禁、多账号认证体系、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成..
Sa-Token v1.23.0 这可能是史上功能最全的 Java 权限认证框架! 在线资料 Sa-Token 介绍 Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题 框架集成简单、开箱即用、API设计清爽,通过Sa-Token,你将以一种极其简单的方式实现系统的权限认证部分 登录认证 —— 单端登录、多端登录、同端互斥登录、七天内免登录 权限认证 —— 权限认证、角色认证、会话二级认证 Session会话 —— 全端共享Session、单端独享Session、自定义Session 踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线 账号封禁 —— 指定天数封禁、永久封禁、设定解封时间 持久层扩展 —— 可集成Redis、Memcached等专业缓存中间件,重启数
Linux-Web架构全景-基础文件操作命令
Linux-Web架构全景-基础文件操作命令
JSP打造大型分布式B2C商城项目视频教程
03.第三天(实现商品添加) 04.第四天(商品规格实现) 05.第五天(前台工程搭建、首页商品类目显示) 06.第六天(CMS系统) 07.第七天(redis缓存) 08.第八天(solr服务器搭建、搜索功能实现) 09.第九天(商品详情页面实现) 10.第十天(单点登录系统实现) 11.第十一天(购物车+订单) 12.第十二天(系统架构讲解、nginx) 13.第十三天(生产环境搭建、系统部署) 14.第十四天(项目总结) 源代码.7z


