windows系统中,在cmd窗口演练 Redis 基本操作命令

文章目录

    • 一、Redis 介绍
      • 1.1 Redis 的应用场景
      • 1.2 Redis 的特点
    • 二、Windows版Redis安装
    • 三、Redis Desktop Manager安装
    • 四、Redis 常用基本操作
      • 4.1 查看操作
      • 4.2 操作string类型的命令
        • 4.2.1 设置获取Key
        • 4.2.2 MSET(Multi)支持批量设置key、MGET支持批量获取key
        • 4.2.3 设置一个key,并指定过期时间
        • 4.2.4 使用INCR来进行累加操作
      • 4.3 操作hash类型的命令
        • 4.3.1 设置Hash的指定字段
        • 4.3.2 将Hash的字段获取
        • 4.3.3 获取Hash中所有的key
        • 4.3.4 获取Hash中所有的key和value
        • 4.3.5 删除命令
      • 4.4 操作list类型的命令
        • 4.4.1 push往列表的头部插入数据
        • 4.4.2 range表示取指定范围的元素(0--1表示获取数据的元素)
      • 4.5 操作SET类型的命令
        • 4.5.1 添加元素
        • 4.5.2 获取所有的元素
        • 4.5.3 获取元素的个数
      • 4.6 针对key的操作命令
        • 4.6.1 删除一个key,对应的数据结构
        • 4.6.2 判断set_test这个key是否存在
        • 4.6.3 给key设置过期时间
      • 4.7 针对ZSET(有序SET)的操作命令
        • 4.7.1 向ZSet中添加页面的PV值
        • 4.7.2 获取有序集合的成员数
        • 4.7.3 有序集合中对指定成员的分数加上增量
        • 4.7.4 计算给定多个有序集的交集
        • 4.7.5 获取ZSET中的所有成员
        • 4.7.6 获取有序集合中指定成员的索引
        • 4.7.7 将有序集成员按分数值递减(从大到小)排序

一、Redis 介绍

Redis是一个NoSQL、基于Key-value键值对的存储引擎;( Not Relational(非关系型):没有对SQL支持、不能去建立表与表的关系;)

1.1 Redis 的应用场景

  • 计数器
  • TopN、排行榜(微博的热搜榜、热门话题、抖音直播间的热门直播间、淘宝电商的排行榜)
  • 去重的计数
  • 实时系统,用于存储一些规则
  • 定时过期的一些应用(短信验证码)
  • 缓存(保护数据库不被高并发压垮)

1.2 Redis 的特点

  • 速度非常快,单机能够支持的并发、读写的速度达10W以上(Kafka更快——80W-150W)
  • 支持多种数据结构类型,操作非常灵活
    • string(字符串)
    • list(列表)
    • set(集合)
    • hash(哈希)
    • zset(有序集合)

二、Windows版Redis安装

Windows版的安装,解压Redis压缩包即安装完毕,有以下几个需要注意的安装事项:

  • 1)解压的目录不要有中文名称;
  • 2)目录结构层次不要嵌套太深;
  • 3)硬盘空间剩余空间最少要大于内存空间,建议20G以上;

可以在官网下载,也可以在此 安装包 地址处下载,Redis 服务启动与关闭如下:
1)、启动服务器:直接执行redis-server.exe文件,默认端口号:6379
2)、关闭服务器:直接关闭窗口

三、Redis Desktop Manager安装

一款跨平台Redis桌面管理软件,支持:Windows 7+、Mac OS X 10.10+、 Ubuntu 14+等系统,响应迅速快,性能好。Redis Desktop Manager下载地址
安装时一直下一步,安装完客户端后,连接本地Redis服务:
在这里插入图片描述

四、Redis 常用基本操作

如果在 windows 系统中,想通过 cmd窗口 操作常用基本操作,可按照如下步骤操作:
1)、找到安装 Redis 的目录,双击运行 redis-cli.exe 应用程序;
在这里插入图片描述

2)、在打开的 cmd窗口 执行常用基本操作命令;
在这里插入图片描述

3)、执行后的命令内容,也可在 Redis桌面管理软件(Redis Desktop Manager)中对应查看;
在这里插入图片描述

4.1 查看操作

以下命令需谨慎使用(测试时候可以用,正式上线慎用),因为当缓存比较多的时候,会很消耗内存会影响效率。

keys *

4.2 操作string类型的命令

4.2.1 设置获取Key
# SET key value 设置指定 key 的值  
SET data 12323
# GET key 获取指定 key 的值
GET data
4.2.2 MSET(Multi)支持批量设置key、MGET支持批量获取key
# MGET key1 [key2..]  获取所有(一个或多个)给定 key 的值
MSET hello1 world1 hello2 world2
MGET hello1 hello2
4.2.3 设置一个key,并指定过期时间
# SETEX key seconds value 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
SETEX hello3 5 world
4.2.4 使用INCR来进行累加操作
# SETNX key value  只有在 key 不存在时设置 key 的值
SET PV 1
# INCR key 将 key 中储存的数字值增一
INCR PV 

4.3 操作hash类型的命令

4.3.1 设置Hash的指定字段

记住:大key(例如:userinfo)、小key(例如:userid)

# HSET key field value 将哈希表 key 中的字段 field 的值设为 value 
HSET userinfo userid 1
# HMSET key field1 value1 [field2 value2 ] 同时将多个 field-value (域-值)对设置到哈希表 key 中
HSET userinfo username zhangsan
4.3.2 将Hash的字段获取
# HGET key field 获取存储在哈希表中指定字段的值
HGET userinfo userid
4.3.3 获取Hash中所有的key
# HKEYS key 获取所有哈希表中的字段
HKEYS userinfo
4.3.4 获取Hash中所有的key和value
# HGETALL key 获取在哈希表中指定 key 的所有字段和值
HGETALL userinfo
4.3.5 删除命令
# HDEL key field1 [field2] 删除一个或多个哈希表字段
HDEL userinfo userid

4.4 操作list类型的命令

4.4.1 push往列表的头部插入数据
# LPUSH key value1 [value2]  将一个或多个值插入到列表头部
LPUSH list 1 2 3 4
4.4.2 range表示取指定范围的元素(0–1表示获取数据的元素)
# LRANGE key start stop 查看list当中所有的数据
LRANGE list 0 -1

4.5 操作SET类型的命令

Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

4.5.1 添加元素

有去重功能,如下例子:

# SADD key member1 [member2] 向集合添加一个或多个成员
SADD set_test 1
SADD set_test 1 2 3 4
4.5.2 获取所有的元素
# SMEMBERS key :返回集合中的所有成员
SMEMBERS set_test
4.5.3 获取元素的个数
# SCARD key :获取集合的成员数
SCARD set_test

4.6 针对key的操作命令

4.6.1 删除一个key,对应的数据结构
# DEL key 该命令用于在 key 存在时删除 key
DEL list
4.6.2 判断set_test这个key是否存在
# EXISTS key 检查给定 key 是否存在
# 返回1表示存在,返回0表示不存在
EXISTS set_test
4.6.3 给key设置过期时间
# EXPIRE key seconds 为给定 key 设置过期时间,以秒计
EXPIRE set_test 5

4.7 针对ZSET(有序SET)的操作命令

string类型元素的集合,用来保存需要排序的数据,例如排行榜,不允许重复的成员。
有序集合中,每个元素都带有score(权重),以此来对元素进行排序。它有三个元素:key、member和score

4.7.1 向ZSet中添加页面的PV值
# ZADD key score1 member1 [score2 member2] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZADD pv 100 page1.html 200 page2.html 300 page3.html
4.7.2 获取有序集合的成员数
# ZCARD key 获取有序集合的成员数
# 获取一共有几个页面
ZCARD pv
4.7.3 有序集合中对指定成员的分数加上增量
# ZINCRBY key increment member 有序集合中对指定成员的分数加上增量 increment
# 要给page1.html页面增加pv值
ZINCRBY pv 10 page1.html
4.7.4 计算给定多个有序集的交集
# 创建两个保存PV的ZSET
ZADD pv_zset1 10 page1.html 20 page2.html
ZADD pv_zset2 5 page1.html 10 page2.html
# ZINTERSTORE destination numkeys key [key ...] 
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZINTERSTORE pv_zset_result 2 pv_zset1 pv_zset2
4.7.5 获取ZSET中的所有成员
# ZRANGE key start stop [WITHSCORES] 通过索引区间返回有序集合指定区间内的成员  WITHSCORES:权重
ZRANGE pv_zset_result 0 -1 WITHSCORES
4.7.6 获取有序集合中指定成员的索引
# ZRANK key member 返回有序集合中指定成员的索引
# 求page1.html在页面PV中的排名(最小)
# 默认是按照升序统计 0, 1, 2,3 ...,从小到大排列
ZRANK pv_zset_result page1.html
4.7.7 将有序集成员按分数值递减(从大到小)排序
# ZREVRANK key member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
# 求page1.html在页面PV中的排名(最大)
# 注意:这个操作效率很高,并不是重新排序,只是把ZSET反转(revert)即可
ZREVRANK pv_zset_result page1.html

注意:

  1. 排名是ZRANK是基于从小到大排列的,ZREVRANK是基于从大到小排列
  2. 排名是从0开始,0代表第一名

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

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

相关文章

平时使用Xshell能连接虚拟机,现在突然连接不上

问题:平时使用Xshell能连接虚拟机,现在突然连接不上,使用ip addr 命令查看ip地址 ens33 接口状态为 DOWN,没有分配IP地址,这通常意味着该网络接口未激活或存在配置问题。(因为平时能连接,就说明…

DNS代理是什么?浅析DNS代理的工作原理及应用

DNS代理作为计算机网络中重要的一环,扮演着连接用户和互联网服务的关键角色。来了解DNS代理的定义、功能、工作原理以及在网络中的应用场景和重要性吧。 一、理解DNS代理。 DNS代理充当在用户和真正的DNS服务器之间的中介。它接收来自用户端的DNS查询请求&#xf…

std::function和bind绑定器

本文来自《深入应用C11 代码优化与工程级应用》 std::function和std::bind&#xff0c;使我们使用标准库函数时更加方便&#xff0c;且还能方便地实现延迟求值。 1.可调用对象(Callable Objects) 可调用对象有如下几种定义&#xff1a; (1)是一个函数指针 #include<ios…

php elasticsearch/elasticsearch使用apikey访问接口

此处使用的windows版es和kibana。 1.前提&#xff1a;以安装好es和kibana并正常运行&#xff0c;记得保存es安装完成时提示的账号密码。 2.登录kibana,创建索引并加入几条数据,可以通过kibana界面添加或者通过调用接口添加&#xff0c;非重点不赘述了。 3.添加ApiKey, 使用…

Linux 部署 Harbor 镜像仓库详解

文章目录 安装 Docker安装 Harbor访问 Harbor 安装 Docker 本次部署流程使用的是1台阿里云ECS&#xff0c;Ubuntu 22.04&#xff0c;2核4G。 首先需要做的是在当前服务器上&#xff0c;安装好 Docker&#xff0c;参考链接如下&#xff1a; https://blog.csdn.net/weixin_4659…

ESD防静电闸机如何保护汽车电子产品

随着汽车电子技术的快速发展&#xff0c;汽车中集成了越来越多的电子设备&#xff0c;如车载信息娱乐系统、自动驾驶传感器、驾驶辅助系统等。静电放电可能导致电子组件的损坏、性能下降&#xff0c;甚至使整个系统失效。因此&#xff0c;如何有效保护汽车电子产品免受静电损害…

【【自动驾驶】车辆运动学模型】

【自动驾驶】车辆运动学模型 1. 引言2. 以车辆重心为中心的单车模型2.1 模型介绍2.2 滑移角 β \beta β 的推导2.2 航向角 ψ \psi ψ推导过程&#xff1a;2.3 滑移角 β \beta β2.3 Python代码实现2.4 C代码实现 3. 前轮驱动的单车模型3.1 模型介绍3.3 Python代码实现3.4 …

软件I2C的代码

I2C的函数 GPIO的配置——scl和sda都配置为开漏输出 void MyI2C_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStruture;GPIO_InitStruture.GPIO_Mode GPIO_Mode_Out_OD;GPIO_InitStruture.GPIO_PinGPIO_Pin_10 | GPIO_Pin_…

Debug-029-el-table实现自动滚动分批请求数据

前情提要 最近做了一个小优化&#xff0c;还是关于展示大屏方面的。大屏中使用el-table展示列表数据&#xff0c;最初的方案是将数据全部返回&#xff0c;确实随着数据变多有性能问题&#xff0c;有时请求时间比较长。这里做的优化就是实现列表的滚动到距离底部一定高度时再次请…

【银河麒麟高级服务器操作系统实例】金融行业TCP连接数猛增场景的系统优化

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://documentkylinos.cn 服务器环境以及配置 物理机/虚拟机/云/容器 物理…

项目实战:Qt+OpenCV仿射变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出变换后的图等等)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/143105881 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、Op…

python中frida的安装+frida-server(雷电模拟器)保姆级安装教程

一.安装雷电模拟器 雷电模拟器官网 直接下载安装即可 &#xff08;1&#xff09;打开必要权限 雷电模拟器的设置已完毕 二.安装adb工具 本文以autox.js来实现adb操作 &#xff08;1&#xff09;vscode中下载auto.js插件 &#xff08;2&#xff09;雷电模拟器下载autox.j…

【大模型实战篇】大模型分词算法Unigram及代码示例

1. 算法原理介绍 与 BPE 分词&#xff08;参考《BPE原理及代码示例》&#xff09;和 WordPiece 分词&#xff08;参考《WordPiece原理及代码示例》&#xff09;不同&#xff0c;Unigram 分词方法【1】是从一个包含足够多字符串或词元的初始集合开始&#xff0c;迭代地删除其中的…

Spring Boot Druid 数据库连接池入门

1. Druid 单数据源 1.1 引入依赖 在 pom.xml 文件中&#xff0c;引入相关依赖。 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

《异常处理与资源管理:构建稳定程序的关键纽带》

#1024程序员节&#xff5c;征文# 在软件开发的广袤领域中&#xff0c;异常处理和资源管理如同两座坚实的基石&#xff0c;共同支撑着程序的稳定运行。它们之间的关系紧密而微妙&#xff0c;对于构建可靠、高效的软件系统起着至关重要的作用。让我们深入探讨异常处理和资源管理…

idea项目搭建的四种方式: 一(以idea2017为例)

目录 1. 普通java项目 2. 普通JavaWEB项目 3. maven的JavaWEB项目 4. maven的java项目 1. 普通java项目 ①点击“Create New Project”&#xff1b; ②选择“Java”&#xff0c;选择自己安装的jdk&#xff0c;点击“Next”&#xff1b; ③填好项目名称和路径&#xff1b;…

【LeetCode】动态规划—2466. 统计构造好字符串的方案数(附完整Python/C++代码)

动态规划—2466. 统计构造好字符串的方案数 题目描述前言基本思路1. 问题定义举例&#xff1a; 2. 理解问题和递推关系动态规划思想&#xff1a;状态定义&#xff1a;状态转移方程&#xff1a;边界条件&#xff1a; 3. 解决方法动态规划方法伪代码&#xff1a; 4. 进一步优化5.…

MATLAB图像检索系统

MATLAB图像检索系统应用背景 基于内容的图像检索&#xff08;CBIR&#xff09;是一个非常热门的研究领域。本文在对颜色特征、形状特征和纹理特征的研究基础上&#xff0c;将三种特征结合在一起&#xff0c;实现了可以自定义权重的综合特征的图像检索系统&#xff0c;并在 平…

推动AI技术研发与应用,景联文科技提供专业高效图像采集服务

景联文科技提供专业图像采集服务&#xff0c;涵盖多个领域的应用需求。 包含人体图像、人脸图像、手指指纹、手势识别、交通道路、车辆监控等图像数据集&#xff0c;计算机视觉图像数据集超400TB&#xff0c;支持免费试采试标。 高质量人像采集服务&#xff1a;支持不同光线条件…

网络知识总结

osi七层模型 osi七层模型分为&#xff1a;应用层&#xff0c;表示层&#xff0c;会话层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层&#xff0c;物理层 应用层&#xff1a;客户端与服务端之间建立一个通话界面表示层&#xff1a;对数据进行语言转换&#xf…