从前面的学习,大致了解了redis。
那么在开发过程中,java要操作redis数据库的话,第一步做什么呢?

当然是连接redis啦~

那么下面就是连接redis的一些较为基础的操作;

目录

  • 一、导入依赖
  • 二、连接Redis
    • 2.1 连接Redis
    • 2.2 数据操作
      • 2.2.1 String
      • 2.2.2 list
      • 2.2.3 hash
      • 2.2.4 Set
      • 2.2.5 sorted Set
  • 三、示例代码

一、导入依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency>

二、连接Redis

2.1 连接Redis

相较于JDBC或者Mybatis的连接方式,连接redis简单很多

//连接指定的redis
Jedis jedis = new Jedis("主机ip","端口");
//如果有密码则需要下面这一行
jedis.auth("密码");
//查看服务是否运行,运行正常的话返回一个PONG,否则返回一个连接错误
jedis.ping();

如果只是连接本地的地址以及默认端口的话,可以直接使用无参构造函数生成对象即可。
因为Jedis继承了Connection这个类,默认的端口和主机IP就是6379和localhost。

2.2 数据操作

redis自带操作命令可以参考
Redis入门(一)——了解Redis

2.2.1 String

方法 描述
String set(String key, String value) 设置 redis 字符串数据
String get(String key) 获取存储的字符串数据

2.2.2 list

方法 描述
Long lpush(String key, String… strings) 将一个或多个值插入到列表头部
Long rpush(String key, String… strings) 将一个或多个值插入到列表尾部
List lrange(String key, long start, long end) 获取列表指定范围内的元素
String lindex(String key, long index) 通过索引获取列表中的元素
Long llen(String key) 获取列表长度

2.2.3 hash

方法 描述
String hmset(String key, Map<String, String> hash) 创建hash表,赋值字段和值
List hmget(String key, String… fields) 获取hash表字段值
Map<String, String> hgetAll(String key) 获取hash表所有的字段和值
Set hkeys(String key) 获取所有字段
Long hlen(String key) 获取字段数量
Boolean hexists(String key, String field) 判断指定字段是否存在

2.2.4 Set

类似于Java中的set集合,是一种无序的集合,其中的元素没有先后顺序。

方法 描述
Long sadd(String key, String… members) 对集合添加一个或多个成员
Long scard(String key) 获取集合的成员数
Set smembers(String key) 获取集合中的成员
Boolean sismember(String key, String member) 判断集合是否包含指定成员
Set sinter(String… keys) 获取多个集合的交集
Set sunion(String… keys) 获取多个集合并集
Set sdiff(String… keys) 返回第一个集合与其他集合之间的差异

2.2.5 sorted Set

和集合一样也是 string 类型元素的集合,且不允许重复的成员

方法 描述
Long zadd(String key, double score, String member) 向有序集合添加一个或多个成员,或者更新已存在成员的分数
Long zcard(String key) 获取有序集合的成员数
Long zrank(String key, String member) 获取元素对应的索引
Set zrange(String key, long start, long end) 获取有序集合指定范围的元素
Long zrem(String key, String… members) 移除集合中的一个元素或多个元素

三、示例代码

public static void main(String[] args){//连接本地的redisJedis jedis = new Jedis();//如果有密码则需要下面这一行jedis.auth("密码");//查看服务是否运行,运行正常的话返回一个PONG,否则返回一个连接错误System.out.println(jedis.ping());/*****************String示例*****************///设置字符串数据jedis.set("word","helloWorld");//读取字符串数据System.out.println(jedis.get("word"));//删除数据jedis.del("word");/*****************List示例*****************/jedis.lpush("list","google");jedis.lpush("list","aLi");jedis.rpush("list","Mi");List<String> stringList = jedis.lrange("list",0l,-1l);for(String str:stringList){System.out.println(str);}/*****************Hash示例*****************/HashMap<String,String> map = new HashMap<>();map.put("name","tom");map.put("age","81");jedis.hmset("man",map);System.out.println(jedis.hmget("man","name"));System.out.println(jedis.hgetAll("man"));System.out.println("获取所有字段:"+jedis.hkeys("man"));System.out.println("获取字段数量:"+jedis.hlen("man"));System.out.println("判断age字段是否存在:"+jedis.hexists("man","age"));/*****************Set示例*****************/jedis.sadd("set1","1");jedis.sadd("set1","2");jedis.sadd("set1","1");jedis.sadd("set2","1");jedis.sadd("set2","4");System.out.println("获取集合的成员数"+jedis.scard("set1"));System.out.println("获取集合中的成员"+jedis.smembers("set2"));System.out.println("判断集合是否包含指定成员"+jedis.sismember("set1","2"));System.out.println("获取多个集合的交集"+jedis.sinter("set1","set2"));System.out.println("获取多个集合并集"+jedis.sunion("set1","set2"));System.out.println("返回第一个集合与其他集合之间的差异"+jedis.sdiff("set1","set2"));/*****************sorted Set示例*****************/jedis.zadd("set1",1,"a");jedis.zadd("set1",3,"b");System.out.println("获取有序集合的成员数"+jedis.zcard("set1"));System.out.println("获取元素对应的索引"+jedis.zrank("set1","b"));System.out.println("获取有序集合指定范围的元素"+jedis.zrange("set1",0,-1));System.out.println("移除集合中的一个元素或多个元素"+jedis.zrem("set1","a"));jedis.zadd("set1",3,"c");System.out.println("获取有序集合指定范围的元素"+jedis.zrange("set1",0,-1));jedis.zadd("set1",5,"b");System.out.println("获取有序集合指定范围的元素"+jedis.zrange("set1",0,-1));}

Java之连接Redis相关推荐

  1. Java应用连接Redis

    目录 一.Maven工程连接Redis 1.1 修改redis.conf文件 1.2 在maven工程中添加Jedis依赖 1.3 使用案例 二.SpringBoot工程中连接Redis 2.1 创建 ...

  2. Java如何连接Redis?

    安装Redis以后,如何使用在Java中呢? 1.下载 jedis.jar包,这是驱动(Jedis就是redis支持java的第三方类库,使用Jedis类库,才可以操作redis数据库) PS:Jed ...

  3. Java密码连接redis

    一般用Java连接数据库都是在配置文件中配置所有redis相关信息,包括密码,现在给出在java中直接连接redis的方法. public void RedisDB(){String host = & ...

  4. java配置连接redis及简单使用

    使用命令 在安装好redis官网下载压缩包,解压,用cmd命令运行即可 安装服务:redis-server --service-install 卸载服务:redis-server --service- ...

  5. 报错:使用java api连接redis集群时报错 READONLY You can't write against a read only slave....

    报错: READONLY You can't write against a read only slave. 报错原因: 因为连接的是从节点,从节点只有读的权限,没有写的权限 解决方案: 进入red ...

  6. 报错:使用java api连接redis集群时报错 READONLY You can't write against a read only slave.

    报错: READONLY You can't write against a read only slave. 报错原因: 因为连接的是从节点,从节点只有读的权限,没有写的权限 解决方案: 进入red ...

  7. java程序无法连接redis 正常启动但是无法访问

    最近做网站,www.read8686.com 自己做的一个小型的网站 但是访问的速度太慢了,因为资金的问题,服务器只能买最小的 如何来提高速度 希望把数据存入到redis中,然后redis来实现高速的 ...

  8. java 连接redis失败_java 连接Redis问题及demo

    java连接linux Redis遇到的问题 昨天在Linux搭建了Redis服务,今天使用java连接测试了一下.要想使用java连接redis服务,就离不开jedis-2.6.1.jar.使用je ...

  9. Java中使用Jedis连接Redis对SortedSet进行排序操作

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

最新文章

  1. python读取excel画散点图-matplotlib两种画散点图的方式
  2. 进程(process)和线程
  3. vue配置git的子模块
  4. appium+python自动化项目实战(一):引入nose和allure框架
  5. ffmpeg播放器 android,Android使用FFmpeg(六)--ffmpeg实现音视频同步播放
  6. 使用transforms.Compose套件做图像数据变换
  7. Mate 50系列首发?曝鸿蒙3.0用户版5月内测
  8. VUE 响应式原理源码:带你一步精通 VUE | 原力计划
  9. Python并行编程(七):多进程的基本使用和与多线程的差异
  10. POJ1067 取石子游戏 Wythoff's game C语言
  11. 计算机系统从本地硬盘启动设置,技嘉主板电脑在BIOS中设置硬盘启动教程
  12. 用实例配置 linux squid 代理服务器
  13. channel使用法则
  14. 在演讲中如何吸引你的听众技巧
  15. Linux 绑定IP
  16. Zotero使用指南04:群组功能
  17. 使用asm.jar将Android手机屏幕投影到电脑
  18. Spring总结(IOC、AOP原理以及Spring事务)
  19. android 方向euler,android – 如何从旋转矢量获取欧拉角(Sensor.TYPE_ROTATION_VECTOR)
  20. python 几何_使用Python写入几何

热门文章

  1. SpringCloud核心组件介绍 (Netflix + Alibaba套件)
  2. Spring Boot底层原理详解及整合
  3. 利用POI操作不同版本号word文档中的图片以及创建word文档
  4. 管式超滤系统:超滤技术在工业废水处理中的应用
  5. python pip下载速度太慢解决
  6. 计算机及应用中级职称考试试题及答案,2017年计算机及应用考试试题及答案.pdf...
  7. Kotlin和Flutter,我全都要!
  8. SSM酒店预约管理系统 计算机毕业设计源码40970
  9. LISP道路中线_如何画两条样条线间中心线之三:CAD插件/Lisp编程法
  10. Quick-Coco2d-x开发环境搭建