当前位置: 首页 > news >正文

Java操作redis常见类型数据存储

一,Java连接Redis

1.1 导入依赖

打开IDEA在pom.xml导入依赖

注意:要在dependencies标签中导入

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

1.2 Java连接

创建一个类,里面写连接Redis的相关代码

public class Redis {public static void main(String[] args) {//建立与数据库连接 数据库名称 端口号Jedis jedis=  new Jedis("localhost",6379);//数据库密码jedis.auth("123456");//测试是否连接成功 连接成功返回PONGSystem.out.println(jedis.ping());}
}

如果运行显示PONG即可表明连接成功

如下图:

 

二. Java操作Redis常用类型数据

2.1 Redis字符串(String)

String(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个redis中字符串 value 最多可以是512M。

  package com.zking.ssm.common;import redis.clients.jedis.Jedis;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接数据库jedis.select(3);//存值jedis.set("uname","ar.小白");//取值System.out.println(jedis.get("uname"));//设置该hobby多久后自动删除jedis.setex("hobby",25,"game");//查看剩余时间System.out.println(jedis.ttl("hobby"));//修改jedis.set("uname","小白");System.out.println(jedis.get("uname"));//删除System.out.println(jedis.del("uname"));}
}

 2.2 Redis哈希(Hash)

Hash(哈希,类似java里的Map)

    Redis hash 是一个键值对集合。

    Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    类似Java里面的Map<String,Object>。

 

package com.zking.ssm.common;import redis.clients.jedis.Jedis;import java.util.HashMap;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);//      存值jedis.hset("man","sname","帅哥");jedis.hset("man","sage","18");jedis.hset("man","sex","男");
//      取指定的字段值System.out.println(jedis.hget("man", "sname"));
//      删除值System.out.println(jedis.hdel("man","sage"));
//      查询指定的key的所有字段System.out.println(jedis.hgetAll("man"));
//      查询指定的key是否存在System.out.println(jedis.hexists("man", "sname"));System.out.println(jedis.hexists("man", "sage"));
//      获取指定key的长度System.out.println(jedis.hlen("man"));}
}

2.3 Redis列表(List)

List(列表)

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

    它的底层实际是个链表。

package com.zking.ssm.common;import redis.clients.jedis.Jedis;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);//        lpush key value1 value2 value3          将一个或多个值插入到列表头部jedis.lpush("List_hobby", "唱", "跳", "rap", "篮球");
//        llen key                                获取列表的长度System.out.println(jedis.llen("List_hobby"));
//        lindex key index                        根据索引获取列表中的元素System.out.println(jedis.lindex("List_hobby", 0));
//        lrange key start sop                    查看指定范围内的元素System.out.println(jedis.lrange("List_hobby", 0, 2));}
}

2.4 Redis集合(Set)

​​​​​​​Set(集合)

    Redis的Set是string类型的无序集合。它是通过HashTable实现的。

package com.zking.ssm.common;import redis.clients.jedis.Jedis;import java.util.Set;public class dome2 {public static void main(String[] args) {//建立与数据库连接Jedis jedis = new Jedis("localhost", 6379);//设置密码jedis.auth("123456");//测试是否连接上System.out.println(jedis.ping());//================================//连接第数据库jedis.select(3);//        Redis集合(Set)//       sadd key value1 [value2]                向集合添加一个或多个元素jedis.sadd("set_user", "ar", "小白", "牛马", "6");
//        scard key                               获取集合中的元素数量System.out.println(jedis.scard("set_user"));
//        exists key                              是否存在System.out.println(jedis.exists("set_user"));}
}

redis常见数据类型操作命令参考

  Redis 命令参考

    


  Redis 官网命令参考

http://www.lryc.cn/news/220881.html

相关文章:

  • 【深度学习】pytorch——Autograd
  • 【ARM 安全系列介绍 1 -- 奇偶校验与海明码校验详细介绍】
  • 分享34个发布商会PPT,总有一款适合您
  • 047_第三代软件开发-日志分离
  • ChinaSoft 论坛巡礼 | 系统与网络安全论坛
  • Ubuntu Gitlab安javascript:void(‘numberedlist‘)装
  • 11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送
  • 竞赛选题 深度学习手势检测与识别算法 - opencv python
  • 语言模型AI——聊聊GPT使用情形与影响
  • 浅谈事件冒泡和事件捕获
  • CSS 背景、文本、字体
  • 爬取Elastic Stack采集的Nginx内容
  • python 机器学习 常用函数
  • 手写操作系统篇:环境配置
  • 地理信息系统原理-空间数据结构(7)
  • 三国志14信息查询小程序(历史武将信息一览)制作更新过程03-主要页面的设计
  • 学习Opencv(蝴蝶书/C++)相关——2.用clang++或g++命令行编译程序
  • 【Unity细节】VS不能附加到Unity程序中解决方法大全
  • 线上 kafka rebalance 解决
  • [100天算法】-第一个错误的版本(day 62)
  • React 学习系列: 类组件生命周期方法
  • Flume从入门到精通一站式学习笔记
  • Python150题day08
  • 正则表达式的修饰符
  • 从行车记录仪恢复已删除/丢失视频的方法
  • TypeScript_抓取酒店价格数据
  • vue前端实现多个url下载并合并为zip文件
  • Redis02-持久化策略
  • Crypto(9)[MRCTF2020]keyboard
  • IOS自带的OCR识别功能