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.hqwc.cn/news/163932.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【elasticsearch+kibana基于windows docker安装】

创建网络&#xff1a;es和kibana容器互联 docker network create es-net加载镜像 docker pull elasticsearch:7.12.1运行 docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -v $…

为什么深度学习模型的预测结果为数据集均值

如图&#xff0c;上边的为真值&#xff0c;下边的为预测值&#xff0c;可见预测值都是在30左右 一直debug不出来。后来发现是loss处写错了 用的torch.nn.MSELoss(pred,target)&#xff0c;其中pred的size是(batchsize,1), target的size是(batchsize)&#xff0c;此时会有警告但…

Go 面向对象,多态

面向对象 工程结构 新建一个oop.go package _oop // Package _oop 引用名称import ("fmt""strconv" )// GIRL 常量 const (// GIRL 自增GIRL Gender iotaFIRSTSECONDTHIRD )type Gender uint8 // 无符号的8位整数类型// User 结构体 type User struct…

Gin学习笔记

Gin学习笔记 Gin文档&#xff1a;https://pkg.go.dev/github.com/gin-gonic/gin 1、快速入门 1.1、安装Gin go get -u github.com/gin-gonic/gin1.2、main.go package mainimport ("github.com/gin-gonic/gin""net/http" )func main() {// 创建路由引…

个性化联邦学习-综述

介绍阅读的三篇个性化联邦学习的经典综述文章 Three Approaches for Personalization with Applications to Federated Learning 论文地址 文章的主要内容 介绍了用户聚类&#xff0c;数据插值&#xff0c;模型插值三种个性化联邦学习的方法。 用户聚类&#xff1a; 目的&a…

京东数据分析(京东销量):2023年9月京东投影机行业品牌销售排行榜

鲸参谋监测的京东平台9月份投影机市场销售数据已出炉&#xff01; 根据鲸参谋电商数据分析平台的相关数据数据显示&#xff0c;9月份&#xff0c;京东平台投影机的销量为13万&#xff0c;环比下滑约17%&#xff0c;同比下滑约25%&#xff1b;销售额将近2.6亿&#xff0c;环比下…

三国志14信息查询小程序(历史武将信息一览)制作更新过程03-主要页面的设计

1&#xff0c;小程序的默认显示 分为三部分&#xff0c;头部的标题、中间的内容区和底部的标签栏。点击标签可以切换不同页面&#xff0c;这是在app.json文件中配置的。代码如下&#xff1a; //所有用到的页面都需要在 pages 数组中列出&#xff0c;否则小程序可能会出现错误或…

js原型链

什么叫原型链 原型链是js中的核心&#xff0c;原型链将各个属性链接起来&#xff0c;在原型链上面定义&#xff0c;原型链上的其他属性能够使用&#xff0c;原型链就是保证继承 原型链区分 原型链分为显式原型和隐式原型 显式原型&#xff1a;只有函数和构建函数才有显式原型…

C++——类和对象(初始化列表、匿名对象、static成员、类的隐式类型转换和explicit关键字、内部类)

初始化列表、匿名对象、static成员、类的隐式类型转换和explicit关键字、内部类 本章思维导图&#xff1a; 注&#xff1a;本章思维导图对应的xmind文件和.png文件都已同步导入至资源 文章目录 初始化列表、匿名对象、static成员、类的隐式类型转换和explicit关键字、内部类1.…

VUE多语言i18n配置

1、i18n官网 格式化 | Vue I18n 2、安装i18n 8---指版本号 // vue2必须安装8版本的i18n包&#xff0c;vue3必须安装9版本的i18n包。 npm i vue-i18n8 3、卸载i18n npm uninstall vue-i18n 4、安装 js-cookie npm install vue-cookies --save 5、代码 5.1 main.js /…

自己实现一个自动检测网卡状态,并设置ip地址

阅读本文前&#xff0c;请先学习下面几篇文章 《搞懂进程组、会话、控制终端关系&#xff0c;才能明白守护进程干嘛的&#xff1f;》 《简简单单教你如何用C语言列举当前所有网口&#xff01;》 《Linux下C语言操作网卡的几个代码实例&#xff01;特别实用》 《安卓如何设置…

王道考研--》顺序表课后习题C语言代码实现(冲刺)

考研是许多计算机科学专业学生追求高学历、寻求更好就业前景的途径。在考研过程中&#xff0c;数据结构是一个非常重要的科目&#xff0c;而代码实现题更是其中的难点之一。在这篇文章中&#xff0c;我们将探讨如何通过实现数据结构代码问题来提升考研成绩。无论您是否有编程经…