Redis以及Java使用Redis

news/2024/5/14 10:05:53/文章来源:https://blog.csdn.net/qq_37948985/article/details/132008114

一、Redis的安装

Redis是一个基于内存的 key-value 结构数据库。 基于内存存储,读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛

官网:https://redis.io

中文网:https://www.redis.net.cn/

Redis安装包分为 Windows 版和 Linux 版:

Windows版下载地址:https://github.com/microsoftarchive/redis/releases

Linux版下载地址: https://download.redis.io/releases/

Redis的Windows版属于绿色软件,直接解压即可使用,解压后目录结构如下:

二、Redis的启动

启动方式

windows版本

服务启动命令:redis-server.exe redis.windows.conf

Linux版本:

启动方式跟windows也差不多

关闭方式

windows版本:

Redis服务默认端口号为 6379 ,通过快捷键Ctrl + C 即可停止Redis服务

Linux版本:

kill  -9  6379

三、客户端连接

客户端连接命令:redis-cli.exe

通过redis-cli.exe命令默认连接的是本地的redis服务,并且使用默认6379端口。

也可以通过指定如下参数连接: -h ip地址 -p 端口号 -a 密码(如果需要) 

设置Redis服务密码,修改redis.windows.conf

requirepass 123456

注意: 修改密码后需要重启Redis服务才能生效 Redis配置文件中 # 表示注释

Redis客户端图形工具

四、Redis的数据类型

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:

字符串 string

哈希 hash

列表 list

集合 set

有序集合 sorted set / zset

 

 字符串(string):普通字符串,Redis中最简单的数据类型

哈希(hash):也叫散列,类似于Java中的HashMap结构

列表(list):按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList

集合(set):无序集合,没有重复元素,类似于Java中的HashSet

有序集合(sorted set / zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

字符串操作命令

Redis 字符串类型常用命令:

SET key value   设置指定key的值

GET key            获取指定key的值

SETEX key seconds value    设置指定key的值,并将 key 的过期时间设为 seconds 秒

SETNX key value        只有在 key 不存在时设置 key 的值

ttl key                         获取key的有效时间(设置了有效期的key返回有效期时间,过期了返回-2;没设置有效期的key,返回-1)

del key                          删除指定key

哈希操作命令

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

HSET key field value     将哈希表 key 中的字段 field 的值设为 value

HGET key field     获取存储在哈希表中指定字段的值

HDEL key field        删除存储在哈希表中的指定字段

HKEYS key         获取哈希表中所有字段

HVALS key         获取哈希表中所有值 

列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

LPUSH key value1 [value2]     将一个或多个值插入到列表头部(左边)

LRANGE key start stop         获取列表指定范围内的元素

RPOP key             移除并获取列表最后一个元素(右边)

LLEN key             获取列表长度 

set集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据,

常用命令:

SADD key member1 [member2]     向集合添加一个或多个成员

SMEMBERS key         返回集合中的所有成员

SCARD key             获取集合的成员数

SINTER key1 [key2]         返回给定所有集合的交集

SUNION key1 [key2]         返回所有给定集合的并集

SREM key member1 [member2]     删除集合中一个或多个成员 

有序集合操作命令 

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

ZADD key score1 member1 [score2 member2]     向有序集合添加一个或多个成员

ZRANGE key start stop [WITHSCORES]         通过索引区间返回有序集合中指定区间内的成员 ZINCRBY key increment member             有序集合中对指定成员的分数加上增量 increment ZREM key member [member ...]             移除有序集合中的一个或多个成员 

通用命令

Redis的通用命令是不分数据类型的,都可以使用的命令:

KEYS pattern         查找所有符合给定模式( pattern)的 key

EXISTS key         检查给定 key 是否存在

TYPE key         返回 key 所储存的值的类型

DEL key         该命令用于在 key 存在是删除 key

五、Redis的Java客户端

Redis 的 Java 客户端很多,常用的几种:

Jedis 里面的方法命名基本跟Redis的命令命名方式一样

Lettuce

Spring Data Redis 命名与Redis命名的命名方式有出入

Spring Data Redis 是 Spring 的一部分,对 Redis 底层开发包进行了高度封装。 在 Spring 项目中,可以使用Spring Data Redis来简化操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_338031.aspx

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

相关文章

mysql的日期类型的数据转换为年或者月类型的统计

SELECT CONCAT(YEAR(DATE), if (MONTH(DATE)<10,CONCAT(0,MONTH(DATE)),MONTH(DATE))) AS date , round(SUM(capacity),2) AS ca_dsoc FROM dianchi4 where date > 20211231 GROUP BY YEAR(DATE), MONTH(DATE) 月度的跨年处理就是第一个

文本怎么用手机生成二维码?二维码在线文本码制作技巧

现在二维码可以展示的内容越来越丰富&#xff0c;比如文本就是很常见的一种形式。编辑好文本内容之后&#xff0c;将文字内容添加到二维码中&#xff0c;其他人扫码就可以获取到文字内容&#xff0c;那么文本二维码该如何制作呢&#xff1f;想要制作二维码&#xff0c;那么可以…

SpringCloud集成OpenTelemetry的实现

SpringCloud项目做链路追踪&#xff0c;比较常见的会集成SleuthZipKin来完成&#xff0c;但这次的需求要集成开源框架OpenTelemetry&#xff0c;这里整理下实现过程。相关文章&#xff1a; 【SpringCloud集成SleuthZipkin进行链路追踪】 【OpenTelemetry框架Trace部分整理】 …

百度地图点标记加调用

先看效果 PHP代码 <?phpnamespace kds_addons\edata\controller;use think\addons\Controller; use think\Db;class Maps extends Controller {// 经纬度计算面积function calculate_area($points){$totalArea 0;$numPoints count($points);if ($numPoints > 2) {f…

国企普通员工如何才能成为公务员,这三种途径可供参考

国企普通员工如何转变成公务员&#xff1f;作为国企普通员工&#xff0c;如果要成为国家公务员&#xff0c;其主要的路径有三个方面&#xff0c;一是符合国家公务员法规定的公务员招录条件要求的&#xff0c;可以报考国家公务员&#xff1b;二是在国有企业担任领导职务&#xf…

有趣的Python之基本语法(一篇足够)

目录 Python简介 基本数据类型 进入交互模式 input()函数 条件语句 逻辑运算符 列表list 元组 字典 循环语句 format()方法和f 定义函数 python中的标准库引入 引入第三方库模块 面向对象 读文件 写文件 异常处理 Python简介 面向对象编程、函数式编程和过程…

【rtmp】1: FLV videotag 转annexb

【FLV】AVC+AAC的FLV解析过程及pts、dts计算 反复多次,才能熟记细节。 明确细节,遇到问题才能解决。 rtmp 推送flv时, 首先解析flv,flv videotag 转annexb 格式。 然后 按照annexb 输入给rtmp,让rtmp 推送。 而rtmp 推送又需要把annexb 转为avcc 。 annexb 格式文件 录制的…

day58 单调栈

单调栈 使用场景&#xff1a;通常是一维数组&#xff0c;要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置 本质&#xff1a;空间换时间 三个判断条件&#xff1a; 当前遍历的元素T[i]小于栈顶元素T[st.top()]的情况 当前遍历的元素T[i]等于栈顶元素T[st.to…

网络安全学习笔记——burp和SqlMap的tips

一、Burp 爆破 1、Burp爆账号密码 burp爆破的前提条件——该网站账号密码没有进行加密而是明文&#xff0c;且验证码可以重复使用&#xff0c;如下图数据包中直接显示账号与密码且验证码不需要重复提交&#xff08;此处需要自己使用burp进行测试&#xff09; 1、进入burp&am…

树莓派通过天线+gps获取经纬度并调用高德地图api在地图上标点

完整项目为《基于机器视觉的行人和路面缺陷检测及其边缘设备部署》 完整功能视频演示地址&#xff1a;本科最后的课设&#xff1a;“车载系统的辅助系统——基于机器视觉的行人和路面缺陷检测”完结撒花*罒▽罒*_哔哩哔哩_bilibili 该博客介绍的功能为&#xff1a; 1&#xff1…

实例讲解:通过三个案例搞懂tcp的那些冷门知识

最近在做数据库相关的事情&#xff0c;碰到了很多TCP相关的问题&#xff0c;新的场景新的挑战&#xff0c;有很多之前并没有掌握透彻的点&#xff0c;大大开了一把眼界&#xff0c;选了几个案例分享一下。 案例一&#xff1a;TCP中并不是所有的RST都有效 背景知识 在TCP协议…

Selenium-用这个框架自动化任何你想做的事情!

Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器&#xff08;如 Chrome、Opera 和 Microsoft Edge&#xff09;中的工具&#xff0c;用于帮助开发人员调试和研究网站。 借助 Chrome DevTools&#xff0c;开发人员可以更深入地访问网站&#xf…

JPEG有损图像压缩编码器(附源码)

概述 一个基本由自己实现的JPEG有损图像压缩编码器&#xff0c;基于JFIF&#xff08;JPEG文件交换格式&#xff09;标准&#xff1a; 色彩空间转换&#xff08;RGB to YUV&#xff09;色度抽样&#xff08;采样因子4:2:0&#xff09;MCU分块&#xff08;16x16的最小编码单元&…

开放麒麟1.0发布一个月后,到底怎么样?另一款操作系统引发热议

具有里程碑意义 7月5日&#xff0c;国产首个开源桌面操作系统“开放麒麟1.0”正式发布。 标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力&#xff0c;填补了我国在这一领域的空白。 举国欢庆&#xff0c;算的上是里程碑意义了&#xff01; 发布后用着如何&a…

【Python】PySpark 数据计算 ② ( RDD#flatMap 方法 | RDD#flatMap 语法 | 代码示例 )

文章目录 一、RDD#flatMap 方法1、RDD#flatMap 方法引入2、解除嵌套3、RDD#flatMap 语法说明 二、代码示例 - RDD#flatMap 方法 一、RDD#flatMap 方法 1、RDD#flatMap 方法引入 RDD#map 方法 可以 将 RDD 中的数据元素 逐个进行处理 , 处理的逻辑 需要用外部 通过 参数传入 map…

深入理解 SQL:从基本查询到高级聚合

目录 背景理论知识示例1211. 查询结果的质量和占比&#xff08;Round group by&#xff09;1204. 最后一个能进入巴士的人 &#xff08;Having limit order by&#xff09;1193. 每月交易 I&#xff08;if group by&#xff09;1179. 重新格式化部门表1174. 即时食物配送 II&am…

链表刷题常用技巧——快慢指针

强大&#xff0c;不动如山的强大&#xff0c;不会输给自己的真正的强大。 往期回顾&#xff1a; 数据结构——单链表 单链表力扣刷题 文章目录 经典例题&#xff1a;链表的中间结点 题目分析及双指针思路引入 双指针图解 leetcode 核心代码 判断环形链表——快慢指针…

基于SSM+JSP+LayUI的校园任务帮管理系统

校园帮项目 校园即时服务平台 用户角色 管理员 功能 登录、公告管理&#xff08;发布公告、停用公告&#xff09;、任务管理&#xff08;下架任务、删除任务&#xff09;、用户管理&#xff08;用户充值、限制用户&#xff09;、修改密码 用户角色 用户 功能 注册、登录…

【Linux进程篇】进程概念(1)

【Linux进程篇】进程概念&#xff08;1&#xff09; 目录 【Linux进程篇】进程概念&#xff08;1&#xff09;进程基本概念描述进程-PCBtask_struct-PCB的一种task_ struct内容分类 组织进程查看进程通过系统调用获取进程标示符通过系统调用创建进程——fork初识 作者&#xff…

Android 中 app freezer 原理详解(二):S 版本

基于版本&#xff1a;Android S 0. 前言 在之前的两篇博文《Android 中app内存回收优化(一)》和 《Android 中app内存回收优化(二)》中详细剖析了 Android 中 app 内存优化的流程。这个机制的管理通过 CachedAppOptimizer 类管理&#xff0c;为什么叫这个名字&#xff0c;而不…