redis 数据类型简介

news/2024/10/20 11:54:45/

15d526fe25c7497292bc6e886b6f1cd6.gifredis 数据类型

 

redis的五种数据类型是:1、string(字符串);2、hash(哈希);3、list(列表);4、set(集合);5、sort set (有序集合)。其中,string(字符串)是redis中最基本的数据类型,一个key对应一个value,string 可以包含任何数据

 

字符串string

字符串是所有编程语言中最常见和最常用的数据类型,而且也是redis最基本的数据类型之一,而且redis中所有key的类型都是字符串,它是一个由字节组成的序列,在Rediss中是二进制安全的。这意味着该类型可以接受任何格式数据,如JPEG图像数据和Json对象说明信息。它是标准的key-value,通常用于存储字符串、整数和浮点。Value可容纳高达512MB的数据

 

添加一个key

image

 

//设置一个key value

set name liwenchao

 

//设置一个3秒的key,value, 3秒后查询就为nil

set name2 lili ex 3

获取一个key的内容

//可以重复多次定义一个key

set name liwenchao

//如上面演示内容

get name

删除一个key

image

 

//删除name=liwenchao这个key

del name

批量设置多个key,value

image

 

//mset key1 value1 key2 value2

mset name1 liwenchao name2 gaolili

批量根据key获取多个value

image

 

//mget key1 key2

mget name1 name2

追加数据

image

 

//append key1 appendvalue

append name1 app

数值递增

image

 

//设置一个key,value为int的值

set num 10

//让num的value自动+1

incr num

数值递减

image

 

//让num的value自动-1

decr num

获取字符串key的长度

image

 

//获取key为name1的value的长度

strlen name1

判断key是否存在

image

 

//有会返回1,没有会返回0

exists name1

查看key的过期时间

image

 

//ttl 查看key的剩余生存时间

// -1为永不过期,

// -2没有这个key

// num key的剩余有效时间

 

重新设置key的过期时间

image

 

expire name3 120

取消key的过期时间变为永久

image

 

persist name3

列表list

列表是一个双向可读可写的管道,其头部是左侧,尾部是右侧,一个列表可以最多包含2^32-1个元素,即4294967295个元素

 

生成列表并插入数据

image

 

//创建list1的列表并插入value1,value2,value3,value3在列表的最左侧

lpush list1 value1 value2 value3

获取列表长度

llen list

向列表追加数据

//从左边追加

lpush list1 name1

//从右边追加

rpush list1 name2 

获取列表指定范围数据

image

 

//name4在最左边,序列号为0 ,name3序列号为1

lrange list2 1 2

 

//如果只有4个元素。0-99可以打印所有的

lrange list2 0 99

移除左右一个元素

image

 

//从列表右边删除第一个

rpop list2

//从列表左边删除第一个

lpop list2

集合set

set是string类型的无序集合,集合中的成员是唯一的,这就意味着集合中不能出现重复的数据,可以在两个不同的集合中对数据进行比对并取值

 

生成集合key

image

 

//生成无序集合set1

sadd set1 v2 v5

追加数据

image

 

//可以看到加入相同数据时,返回为0,表示没变化

sadd set1 v2

查看集合所有数据

image

 

//获取无序集合set1的所有数据

smembers set1

获取集合的差集,交集,并集

//差集,set1有而set2没有的

sdiff set1 set2

 

//交集,set1有,set2也有的

sinter set1 set2

 

//并集,set1和set2元素的集合并去重

sunion set1 set2 

有序集合

redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double双精度浮点数类型的分数,redis正是通过该分数来为集合中的成员进行从小到大的排序,有序集合成员是唯一的,但分数却可以重复,集合是通过hash表实现的,所以添加,删除,查找的复杂度是O(1),集合中最大的成员数是2^32-1,每个集合可以存储40多亿成员

 

生成有序集合

//生成有序集合zset1 

zadd zset1 1 v1

 

//获取类型

type zset1

 

//一次添加多个元素

zadd zset2 1 v1 2 v2 3 v3

集合排行

image

 

//显示所有key,value

zrevrange zset2 0 -1 withscores

 

//显示集合zset2内所有的key

zrange zset2 0 -1

获取集合长度

zcard zset1

基于索引返回数值

//id号从1到3的

zrange zset1 1 3

返回某个数值的索引

zrank zset2 v2

哈希hash

hash是一个string类型的feild和value的映射表,hash特别是和用于存储对象,redis中每个hash可以存储40多亿键值对

 

生成hash key

//设置一个键值对,我这里设置两个的时候报错了,按理说不应该报错的,待观察

hset hash1 name liwenchao

 

type hash1

获取hash key字段值

//获取key为name的键值对的值

hget hash1 name

删除一个hash key的字段

hdel hash1 name

获取所有hash表中的key

hkeys hash1

获取指定hash的所有key,value

hgetall hash1


http://www.ppmy.cn/news/66143.html

相关文章

【MySql】数据库索引

数据库索引 索引索引的创建索引的查看索引的删除 聚簇索引 & 非聚簇索引聚簇索引非聚簇索引 索引创建原则 索引 可以简单理解为一本书的目录信息,是为了提升查找效率而建立的 索引的创建 1、在创建一个主键、唯一键、外键时候,数据库会自动地针对查…

你最想试用阿里云的哪款云产品?

阿里云为开发者提供了很多免费试用的产品,每种产品对我们来说都有或多或少的吸引力。我感兴趣的几款是函数计算FC,交互式建模PAI-DSW,云数据库RDS MySQL版。 函数计算FC 优势: 阿里云的函数计算FC云产品是一种事件驱动的计算服务…

centos7 配置密钥登录

目录 1.xshell生成公钥 1.工具->新建用户密钥生成导向 2.选择4096下一步​编辑 3.输入用户密钥密码,也可以不输入 4.保存为文件 5.导出私钥文件 2.服务器配置 1.将公钥文件上传至服务器上 3.链接服务器 1.新建连接配置ip 2.设置用户身份验证 3.选择1.5上…

最时髦的AI画画,一文包教包会

最时髦的AI画画,一文包教包会 大概半年前,AI 绘画工具 Disco Diffusion 从 Text-to-Image 开发社区和设计行业,火到了普通用户的视野中。即便它界面简陋,满屏英文和代码,也“劝退”不了人们。因为对那些没有任何美术功…

CSDN竞赛50期题解

总结 CS行业隔行如隔山,基本用不上的书籍又又又增加了,刷刷做过的题目减缓下算法遗忘的速度吧。 比较有趣的一点是,有同学做完,会故意等很长时间再交卷;而有的做完发现排名不够就直接开小号再提交一遍刷排名&#xf…

ChatGPT会如何影响我们的工作生活和人力资源需求

ChatGPT,这几天体验了一下,确实是非常震撼。 一方面是因为它的回答确实相当好,自带一点框架逻辑,有上下文理解能力,可以追问,有情商。虽然很多时候都是一些正确的废话 它还有媲美一个普通大学生的信息整合…

English Learning - L3 作业打卡 Lesson2 Day8 2023.5.12 周五

English Learning - L3 作业打卡 Lesson2 Day8 2023.5.12 周五 引言🍉句1: The color green is natural for trees and grass.成分划分弱读语调 🍉句2: But it is an unnatural color for humans.成分划分弱读连读语调 🍉句3: A person who h…

MySQL笔记之文件和日志

一、存储文件 1、存放位置 MySQL数据库会在data目录下,以数据库为名,为每一个数据库建立文件夹,用来存储数据库中的表文件数据。 不同的数据库引擎,每个表的扩展名也不一样 ,例如: MyISAM用“.MYD”作为…