Redis学习1--Redis简介与基础数据类型操作

news2024/12/24 2:42:44

1、什么是Redis?

Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库

特点:

  • 键值(key-value)型,value支持多种不同数据结构,功能丰富
  • 单线程,每个命令具备原子性
  • 低延迟,速度快(基于内存、IO多路复用、良好的编码)。
  • 支持数据持久化
  • 支持主从集群、分片集群
  • 支持多语言客户端

2、Redis 启动与连接

redis安装后,启动服务命令,redis-server

 ctrl+c 退出服务器

连接redis服务,redis-cli

退出连接 exit

3、基本数据结构

key一般是String类型,value多种类型

key 允许有多个单词构成层级结构之间用:隔开,项目名:业务名:类型:id

douyin:shop:id:1,表示抖音id为1的店铺

通用命令:

keys:查询所有key

del:删除一个key

exists:判断key是否存在

expire:给key设置一个过期时间,到期后会被删除

TTL:查看一个key的剩余有效期

2.1String 类型

value类型是字符串,字符串又分三种,string,int,float,后两种可以做自增、自减操作

String的常见命令有:

  • SET:添加或者修改已经存在的一个String类型的键值对   set name lilei
  • GET:根据key获取String类型的value   get name
  • MSET:批量添加多个String类型的键值对  mset name lisi age 18
  • MGET:根据多个key获取多个String类型的value mget name age
  • INCR:让一个整型的key自增1     incr age
  • INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2   
  • INCRBYFLOAT:让一个浮点类型的数字自增并指定步长   incrbyfloat num 10
  • SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行 setnx age 18
  • SETEX:添加一个String类型的键值对,并且指定有效期  setex  age 20 10,设置年龄为20岁,过期时间10s

2.2Hash类型

Hash也叫散列,value是一个无序字典,常用于存储一个对象

String 类型存储对象:user:{name:"jack",age:18},存储的是一个json字符串

Hash存储的是每个单独字段

                name   jack

user         age      18

Hash的常见命令有:

  • HSET key field value:添加或者修改hash类型key的field的值
  • HGET key field:获取一个hash类型key的field的值
  • HMSET:批量添加多个hash类型key的field的值
  • HMGET:批量获取多个hash类型key的field的值
  • HGETALL:获取一个hash类型的key中的所有的field和value
  • HKEYS:获取一个hash类型的key中的所有的field
  • HVALS:获取一个hash类型的key中的所有的value
  • HINCRBY:让一个hash类型key的字段值自增并指定步长
  • HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

2.3List类型

List类型可以看做一个双向链表结构,与java中LinkedList类似

特点:有序,可重复,插入删除快,查询一般,常用来存储一个有序数据,如评论列表

List的常见命令有:

  • LPUSH key  element ... :向列表左侧插入一个或多个元素
  • LPOP key:移除并返回列表左侧的第一个元素,没有则返回nil
  • RPUSH key  element ... :向列表右侧插入一个或多个元素
  • RPOP key:移除并返回列表右侧的第一个元素
  • LRANGE key star end:返回一段角标范围内的所有元素
  • BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil

 2.4Set类型

set与java中hashset类似,特征:无序,不可重复,查找快,支持交集、并集、差集等操作

Set的常见命令有:

  • SADD key member ... :向set中添加一个或多个元素
  • SREM key member ... : 移除set中的指定元素
  • SCARD key: 返回set中元素的个数
  • SISMEMBER key member:判断一个元素是否存在于set中
  • SMEMBERS:获取set中的所有元素
  • SINTER key1 key2 ... :求key1与key2的交集
  • SDIFF key1 key2 ... :求key1与key2的差集
  • SUNION key1 key2 ..:求key1和key2的并集

2.5SortedSet

SortedSet是一个可排序的集合,每一个元素带有一个score属性,可基于score属性对元素排序

特性:可排序,不重复,查询快,作用排行榜等

SortedSet的常见命令有:

  • ZADD key score member:添加一个或多个元素到sorted set ,如果已经存在则更新其score值
  • ZREM key member:删除sorted set中的一个指定元素
  • ZSCORE key member : 获取sorted set中的指定元素的score值
  • ZRANK key member:获取sorted set 中的指定元素的排名
  • ZCARD key:获取sorted set中的元素个数
  • ZCOUNT key min max:统计score值在给定范围内的所有元素的个数
  • ZINCRBY key increment member:让sorted set中的指定元素自增,步长为指定的increment值
  • ZRANGE key min max:按照score排序后,获取指定排名范围内的元素
  • ZRANGEBYSCORE key min max:按照score排序后,获取指定score范围内的元素
  • ZDIFF、ZINTER、ZUNION:求差集、交集、并集

注意:所有的排名默认都是升序,如果要降序则在命令的Z后面添加REV即可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Winform使用PictureBox控件显示图片并且自适应

一.首先我们只需要在项目文件中的/bin/Debug 下面创建一个文件夹保存你的照片。我这里文件夹名字叫Resources.。如图: 二. 然后我们把我们的照片放入Resources文件夹中即可。如图: 三.在构造器中添加picturebox控件。如图: 四.我们到初始化代…

Mybatis学习笔记教程

Mybatis-9.28 环境: JDK1.8Mysql 5.7maven 3.6.1IDEA 回顾: JDBCMysqlJava基础MavenJunit SSM框架:配置文件的。 最好的方式:看官网文档; 1、简介 1.1、什么是Mybatis MyBatis 是一款优秀的持久层框架它支持定制…

智能驾驶中的数据标注

目前,各大自动驾驶汽车制造商都在通过获取高质量的训练数据最大化其数据资产的投入产出比。在海量的智能驾驶数据面前,如何让每个数据都有存在意义?从《数字商业时代》对澳鹏Appen(中国)高级产品总监张童皓的采访中,你或许能找到一…

【Leetcode】二叉树进阶面试题

文章目录 二叉树创建字符串二叉树分层遍历(从前开始)二叉树分层遍历(从后开始)二叉树的最近公共祖先二叉搜索树与双向链表从前序与中序遍历序列构造二叉树从中序与后序遍历序列构造二叉树二叉树的前序遍历(非递归&…

数仓学习---16、可视化报表(Superset)

星光下的赶路人star的个人主页 真正的才智是刚毅的志向 文章目录 1、Superset入门1.1 Superset概述1.2 环境说明 2、Superset安装2.1 安装Python环境2.1.1 安装Miniconda2.1.2 创建Python3.7 环境 2.2 Superset部署2.2.1 安装依赖2.2.2 安装Superset2.2.3 启动Superset2.2.4 Su…

黑客工具大全(网络安全)

1.Nmap 它是网络管理员必用的软件之一,以及用以评估网络系统安全。正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。 系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器&#xf…

性能如何通过分析后台资源确定瓶颈之磁盘网络

目录 影响性能的因素 磁盘 网络 应用程序-上下文切换 通俗的判断性能的好坏 影响性能的因素 磁盘 %Disk time指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。--磁盘的繁忙程度,一般不超过80%。 Disk reads(writes)b…

Linux-文件管理

1.文件管理概述 1.Bash Shell对文件进行管理 谈到Linux文件管理,首先我们需要了解的就是,我们要对文件做些什么事情? 其实无非就是对一个文件进行、创建、复制、移动、查看、编辑、压缩、查找、删除、等等 例如 : 当我们想修改系统的主机名…

momentjs

年月日 moment(date).format(YYYY-MM-DD) 年月日时间 moment(date).format(YYYY-MM-DD HH-MM-SS) 中文XX月XX日.moment(date).format(MMMDo)

A comprehensive survey on segment anything model for vision and beyond

视觉分割大模型的过去、现在和未来!SAM最新综述来了!今天自动驾驶之心很荣幸邀请到Garfield来分享视觉SAM分割大模型的最新综述,如果您有相关工作需要分享,https://mp.weixin.qq.com/s/-_QFvxBGzFpAgVGF-t-XRgSegment Anything Mo…

从游戏中理解《重构的时机和方法》(文末送书)

本次推荐的书籍是《重构的时机和方法》,该文是由法国克里斯蒂安克劳森(Christian Clausen) 著作,由郭涛翻译。 重构的时机和方法 寄语译者/本书作者原文作者群英推荐目录自我感受好书哪里来🤩免费的书籍哪里来🤩 寄语 作者寄语&a…

Tencent : TBDS

序言 腾讯大数据处理套件(Tencent Big Data Suite,TBDS)是基于腾讯多年海量数据处理经验,对外提供的可靠、安全、易用的大数据处理平台。您可以借助 TBDS 在公有云、私有云、非云化环境,根据不同数据处理需求选择合适…

栈和队列模拟实现(C++)

文章目录 1.deque的认识1.1介绍2.图析 2.stack模拟实现3.queue模拟实现4.优先级队列模拟实现4.1介绍4.2例题4.3模拟实现 5.测试函数 1.deque的认识 1.1介绍 双端队列 Deque(通常读作“deck”)是double-ended queue的不规则首字母缩写。双端队列是动态长度的序列容器&#xff0…

MySQL多表查询(联合查询、连接查询、子查询)

目录 多表联合查询 联合查询类型 多表连接查询 多表查询的分类 交叉查询(笛卡尔积) 内连接查询 外连接查询 自连接查询 子查询规则 子查询的分类 子查询的不同结果 EXISTS和NOT EXISTS 子查询应用的不同位置 不同外部语句的子查询应用情况…

spring boot--自动化注入组件原理、内嵌tomcat-1

前言 我们知道开发spring boot项目,在启动类上添加注解SpringBootApplication ,然后引入要自动注入的组件依赖,然后现application.properties中加上相应配置就可以自动注入这个组件,那么下面看看自动注入组件是如何实现的 一、S…

Idea 结合docker-compose 发布项目

Idea 结合docker-compose 发布项目 这里写目录标题 Idea 结合docker-compose 发布项目Docker 开启远程访问功能 添加相应端口配置IDEA 链接Docker配置项目 docker-compose.yml本地还需要安装 dockerwin11 安装本地Docker 可能存在问题 Linux内核不是最新 Docker 开启远程访问功…

回文链表——力扣234

文章目录 题目描述法一 将值复制到数组中后用双指针法法二 快慢指针 题目描述 法一 将值复制到数组中后用双指针法 class Solution { public:bool isPalindrome(ListNode* head) {vector<int> v;while(head!NULL){v.emplace_back(head->val);head head->next;}for…

同步、异步、阻塞、非阻塞

一、概念 同步与异步&#xff08;线程间调用&#xff09;的区别&#xff1a;关注的是调用方与被调用方之间的交互方式。同步调用会等待被调用方的结果返回&#xff0c;而异步调用则不会等待结果立即返回&#xff0c;可以通过回调或其他方式获取结果。 阻塞非阻塞&#xff08;…

Nautilus Chain 即将治理通证 NAUT ,生态发展进程加速

独特且优势明显的Nautilus Chain 目前&#xff0c;行业内首个模块化底层Nautilus Chain已经上线主网&#xff0c;并且即将有超过70个应用原生部署在Nautilus Chain上。Nautilus Chain本身是一个以Layer3为定位的区块链系统&#xff0c;其通过Celestia模块化底层来获得DA支持以…

网络安全 HVV蓝队实战之溯源

一、前言 对于攻防演练蓝军的伙伴们来说&#xff0c;最难的技术难题可能就是溯源&#xff0c;尤其在今天代理横行的时代更加难以去溯源攻击者。这里我就举两个溯源来帮助大家梳理溯源过程&#xff0c;一个是只溯源到公司&#xff0c;一个是溯源到个人。 二、溯源实例 2.1IP …