Redis数据类型

Redis数据类型

redis使用的是键值对来保存数据

key:全部都是字符串
value:有五种数据类型

key名需要自定义

key名不要太长,否则影响使用效率。
按长度以小到大来查询。
key名也不要太短,最好是有意义的名字。


String(字符串)

string 是redis最基本的类型,一个key对应一个value
字符串在redis中是二进制安全的,所以redis的string类型可以保存任何数据。

比如jpg图片或者json数据。

一个键最大能存储512MB

二进制安全和数据安全是没有关系的。

MySQL-关系型数据库,二进制不安全。

Redis编码及解码只会发生在客户端,没有频繁编解码,执行效率很高。
没有频繁编解码,不会出现乱码。

常用命令
  • set key value赋值,如果赋予相同的key值,新的value会覆盖老的value。
  • get key取值,若key不存在,就返回nil
  • del key删除指定key。
  • getset key value先获取该key的值,然后再设置该key的值。
  • incr key将指定的key的value原子性的递增1,若key不存在,初始值为0,incr后增1。
  • decr key将制定的key的value原子性的递减1。
  • append key value拼凑字符串,若key不存在,则创建key。返回拼接后字符串的长度。
  • incrby key increment将指定的key的value原子性增加increment。
  • decrby key decrement将指定的key的value原子性减少increment。
使用环境
  • 主要用于保存json格式的字符串。

Hash(哈希)

一个键值对(key=》value)集合

Redis hash是一个string类型fieldvalue的映射表。hash特别适用于存储对象。

每个hash可以存储2的32次方-1个键值对(40多亿)

占用的磁盘空间极少。

常用命令
  • hset key field value为指定的key设置field/value对。
  • hmset key field value [field2 value2...]设置keyzhong多个键值对
  • hget key field返回指定key中的field值。
  • hmget key field1 field2返回指定field的value。
  • hgetall key返回全部键值对。
  • hdel key field1删除key中的field1字段。若key中只有一个field1字段,那么key将会被直接删除。
  • del key删除整个key。
  • hincrby key field increment若field的value数字,那么自增1。
  • hexists key field判断某字段是否存在。
  • hlen key获取key包含有多少字段。
  • hkeys key获取所有的字段。
  • hvals key获取所有的字段值。

List

Redis列表是最简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部和尾部。
链表 添加删除效率极高。

Set

Redis的Set是string类型的无序集合。

可以理解为HshaSet
集合是通过哈希表实现的,所以添加、删除,查找的复杂度都是O(1)

sadd

添加一个 string 元素到 key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。

集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

zset

Redis zset和set一样都是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数

redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数却可以重复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Redis支持多种数据类型,包括string、hash、list、set和sorted set等。其中,string是最基本、最简单的数据类型,用于存储字符串。 Hash是用于存储键值对的数据结构,其中的value只能存储字符串,不允许存储其他数据类型,也不存在嵌套现象。每个hash可以存储232 - 1个键值对,并可以灵活添加或删除对象属性。但需要注意的是,hash类型并不适合存储大量对象,也不应该将hash作为对象列表使用,因为遍历整体数据的效率可能会较低。 除了string和hash类型,Redis还支持list、set和sorted set等数据类型。List是一个有序的字符串列表,可以进行插入、删除和查找等操作。Set是一个无序的字符串集合,可以进行元素的添加、删除和查找操作,并且不允许重复元素的存在。Sorted Set是一个有序的字符串集合,每个元素都有一个对应的score,可以根据score进行排序和范围查找。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Redis 数据类型](https://blog.csdn.net/weixin_52851967/article/details/122670564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Honyelchak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值