精华内容
下载资源
问答
  • string 类型:string 是 Redis 最基本的数据类型Redis 的 string 可以包含任何类型的数据.包括 jpg 图片和 序列化的对象。单个 value 值最大上限是 1G 字节。如果 Redis 只用 string 类型,那么它就可以被看作是加...

    string 类型:

    • string 是 Redis 最基本的数据类型。
    • Redis 的 string 可以包含任何类型的数据.包括 jpg 图片和 序列化的对象。
    • 单个 value 值最大上限是 1G 字节
    • 如果 Redis 只用 string 类型,那么它就可以被看作是加了持久化的特性的 memcache。

    string 类型操作

    set key value                      // 设置 key 对应的值为 string 类型
    - mset key1 value1 ... keyN valueN   // 一次设置多个 key-value 对
    - mget key1 key2 ... keyN            // 一次获取多个指定 key 的值
    - incr key                           // 对 key 的值做加加操作,并返回新的值(incr 即 increament 对陌生或已有的 key 进行累加 1 操作,注意 key 的值必须为整型,从而实现网站计数器累加功能)(操作陌生变量时:生成该 key 变量并取值为 1)
    - decr key                           // 对 key 的值做减减操作,并返回新的值
    - incrby key integer                 // 同 incr,加指定的值
    - decrby key integer                 // 同 decr,减指定的值
    - append key value                   // 给指定的 key 的字符串值追加 value 
    - substr key start end               // 返回截取后的 key 的字符串值
    - getrange key start end             // 返回 key 中字符串值的子字符
    - getset key value                   // 将给定 key 的值设为 value ,并返回 key 的旧值(old value)
    - strlen key                         // 返回 key 所储存的字符串值的长度
    - setex key seconds value            // 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)
    - psetex key milliseconds value      // 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位

    示例:

    b0df1a92daf224b1f519557e5ddd9921.png7af98df4c2a70951dd016514220e686c.png

    展开全文
  • Redis的数据类型

    2019-10-09 19:00:02
    Redis的数据类型 redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) 是key-value方式,可以包含任何数据(包括图片或者序列化对象)...

    Redis的数据类型

    redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

    String(字符串)

    是key-value 方式,可以包含任何数据(包括图片或者序列化对象),最大能存储 512MB。

    Hash(哈希)

    hash是一个键值对,Redis的hash是一个键值对集合一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

    Redis 中每个 hash 最多可以存储 键值对(约40多亿)。

    HMSET是设置映射关系。

    HVALS是获取哈希表所有的value。

    HKEYS是获取哈希表所有的字段。

    List(列表)

    Redis List是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。

    LPUSH是设置列表。

    LRANGE是获取列表相应位置范围的value。

    LLEN是获取指定列表的长度。

    Set(集合)

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

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

    集合不能插入重复元素。

    SADD添加集合元素,如果添加重复的则会无效忽略。

    SMEMBERS查看集合中所有元素。

    zset(sorted set:有序集合)

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

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

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

    ZADD添加有序集合元素。

    ZRANGE查看相应范围元素,这里是查看0~100排名的成员及分数,而且排序规则是分数越低排名越前。

    参考文章:

    1、https://www.runoob.com/redis/redis-data-types.html

    2、https://blog.csdn.net/ghy429090/article/details/83304935

    展开全文
  • redis的数据类型

    2014-06-08 23:23:33
    Strings:字符串是redis最基本的数据类型,它能包含任何类型的数据,包括二进制数据,比如图片、序列化的对象等。字符串的大小不能超过512MB。String相关的命令 Lists:列表类型可以存储一个根据元素插入顺序排列的...

    redis有5种数据类型:Strings,Lists,Sets,Hashes,Sorted sets。

    Strings:字符串是redis最基本的数据类型,它能包含任何类型的数据,包括二进制数据,比如图片、序列化的对象等。字符串的大小不能超过512MB。String相关的命令

    Lists:列表类型可以存储一个根据元素插入顺序排列的字符串列表,可以在列表的头部和尾部插入元素。列表的最大长度为2^32-1。列表的特性是在头尾插入元素或者访问头尾元素都很快,但是如果列表很大的时候访问中间的元素很慢。Lists相关的命令

    Sets:集合中的字符串是无序的,且没有重复的字符串。集合中的元素不能超过2^32-1个。集合类型支持并集,差集,交集等运算。Sets相关的命令

    Hashes:散列类型就是字段和字段值之间的映射,和Javascript中的对象或者关联数组很像。一个散列最多可以包含2^32-1个字段。Hashes相关的命令

    Sorted sets:有序集合和集合的区别是每个元素都有一个关联的分数,根据分数从小到大给集合中的元素排序。虽然集合中的元素是不能重复的,但分数可以重复。Sorted sets相关的命令

    参考:http://redis.io/topics/data-types

    展开全文
  • Redis有五种数据类型,包括string,list,set,sorted set和hash,注意,Redis的数据类型不支持嵌套。下面学习一下这五种数据类型的特点和简单应用。 1.String 字符串 String 数据结构是简单的 key-value 类型,valu...

    前面说过,Redis的一大特性是支持丰富的数据类型,

    这为更多的应用场景提供了可能。

    Redis有五种数据类型,包括string,list,set,sorted set和hash,
    注意,Redis的数据类型不支持嵌套。
    下面学习一下这五种数据类型的特点和简单应用。

    1.String 字符串

    String 数据结构是简单的 key-value 类型,value 不仅可以是 String,也可以是数字(当数字类型用 Long 可以表示的时候encoding 就是整型,其他都存储在 sdshdr 当做字符串)。使用 Strings 类型,可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受 Redis 的定时持久化(可以选择 RDB 模式或者 AOF 模式),操作日志及 Replication 等功能。

    应用场景:
    应用最广泛,Redis最基础的数据类型。

    常用命令:
    set,get,将字符串值value关联到key/返回key所关联的字符串值。
    incr,将key中储存的数字值增一。
    decr,将key中储存的数字值减一。
    mset,同时设置一个或多个key-value对。
    mget,返回所有(一个或多个)给定key的值。

    2.Hash 哈希

    很多时候我们需要存储一些对象数据信息,
    比如用户信息,包括用户的昵称、年龄、性别等,如果使用String数据类型,
    通常是将这些信息序列化后存储为一个JSON 格式的字符串,比如“lilei,18,man”。
    如果更新这些信息,需要将字符串(JSON)取出来,进行反序列化,修改某一项的值,再序列化成字符串(JSON)存储回去。在数据的传输和处理时会造成很大的浪费,
    这个时候散列数据类型就可以很好解决这个问题。Hash 结构可以直接修改某一项属性值。
    实现方式:

    常用命令:
    HSET 给字段赋值,更新时可以直接覆盖
    HGET 获得字段的值
    HMSET,HMGET 给多个字段赋值(获得值)
    HGETALL 获取键中所有字段和字段值
    如,

    1
    2
    3
    4
    5
    6
    7
    redis> hmset tom age 18 gender male
    OK
    redis> hgetall tom
    1) "age"
    2) "18"
    3) "gender"
    4) "male"

      

    3.List 列表

    应用场景:
    关注列表,粉丝列表,消息队列等。

    实现方式:

    list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销,Redis内部的很多实现,包括发送缓冲队列等也都是用的这个数据结构。

    常用命令:
    #将一个或多个值value插入到列表key的表头/移除并返回列表key的头元素
    lpush,lpop
    #将一个或多个值value插入到列表key的表尾(最右边)/移除并返回列表key的尾元素
    rpush,rpop
    #返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定
    lrange
    # LPOP 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
    BLPOP(阻塞版)


    4.Set 集合

    由一个或多个元素所构成的叫做集合。
    集合中的元素有三个特征:确定性,互异性,无序性。集合和列表的区别在于列表中的元素有序且并不一定唯一。Redis还为集合提供了求交集、并集、差集等操作。

    应用场景:
    set对外提供的功能与list类似,但是set可以自动排重,当你需要存储一个列表数据,又不希望出现重复数据时,set是很好的选择。
    set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。

    实现方式: 
    set 的内部实现是一个value为null的HashMap, 实际就是通过计算hash的方式来快速排重的,操作set的时间复杂度始终为O(1)。

    常用命令:
    #向集合中添加一个或多个元素,返回成功加入的元素
    SADD key member1 [member2...]
    #删除一个或多个元素
    SREM key member [member...]
    #随机弹出一个元素
    SPOP key
    #集合间运算,差集运算
    SDIFF key [key...]
    #交集运算
    SINTER key [key...]
    #并集运算
    SUNION key [key...]
    #获得集合中的所有元素
    SMEMBERS key
    #判断元素是否在集合中
    SISMEMBERS key member

    操作实例:

    1
    2
    3
    4
    5
    6
    7
    8
    redis>sadd myset a b c
    (integer) 3
    redis>smembers myset
    1) "a"
    2) "c"
    3) "b"
    redis>spop myset
    "a"


    5.Sorted set 有序集合

    有序集合在集合类型的基础上,为每个元素都关联了一个分数,这样除了可以进行集合相关的操作,
    还可以根据分数不同,进行排序等操作,有序集合中元素的分数可以是相同的。

    应用场景:
    以某个条件为权重,比如按顶的次数排序。
    可以用Sorted Sets来做带权重的队列,
    比如普通消息的score为1,重要消息的score为2,然后工作线程可以选择按score的倒序来获取工作任务。让重要的任务优先执行。

    实现方式:
    Redis sorted set的内部使用 HashMap 和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的分数。

    有序集合和列表的区别:
    list和sorted set中元素都是有序的,
    列表类型是听过链表实现的,当元素增多时,访问中间元素速度会下降,
    而有序集合是用HashMap和跳跃表(SkipList),不存在这个问题,但是有序集合的内存开销比列表要大。

    常用命令:
    #添加一个或多个成员到有序集合,或者如果它已经存在更新其分数
    ZADD key score1 member1 [score2 member2] 
    #由索引返回一个成员范围的有序集合
    ZRANGE key start stop [WITHSCORES] 
    #移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。
    ZREM
    #返回有序集 key 的基数。
    ZCARD 

     


    本文转自邴越博客园博客,原文链接:http://www.cnblogs.com/binyue/p/4872103.html,如需转载请自行联系原作者

    展开全文
  • 我们可以把它们看作Redis的五个数据类型。即使是同一种数据类型,在不同的场景下,其底层数据结构可能是不一样的,这样做的目的是优化在不同场景下的使用效率。 首先明确,Redis中使用对象来表示数据库中的键和值,...
  • Redis数据类型

    千次阅读 多人点赞 2019-09-27 11:36:47
    Redis主要有5种数据类型包括String,List,Set,Zset,Hash,满足大部分使用要求,Redis数据类型的使用场景可以参考Redis使用场景 数据类型 可以存储值 操作 STRING 字符串、整数或者浮点数 对整个...
  • redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序...redisObject主要信息包括数据类型(type)、编码方式(encoding)、数据指针(ptr)、虚拟内存(v...
  •   下面讲解value,value包括String、List、Set、Sorted...意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。从内部实现来看其实string可以看做byte数组,最大上限是1G字节。 2、string类型数据...
  • Redis key 是字符串类型,但是 key 中不能包括边界字符,由于 key 不是 binary safe字符串,所以像"my key"和"mykey\n"这样包含空格和换行 key 是不允许。 exits key 检测指定 key 是否存在,返回 1 ...
  •   Redis的key是字符串类型,但是key中不能包括边界字符,由于key不是binary safe的字符串,所以key不能空格和换行。 2、key的相关指令 exists key    检测指定key是否存在,返回1表示存在,0表示不存在。 del ...
  • 基本数据类型包括:字符串(string)、散列(hashes)、列表(Lists)、集合(sets)、无序集合(sorted sets)五种。 字符串(strings) 类型介绍 字符串是Redis最简单存储类型。它存储值可以是字符串、整数...
  • 字符串类型是Redis中最基本的数据类型,它可以存储任何形式的字符串,包括二进制数据。其他的类型都是以字符串类型为基础,可以看作是字符串类型的不同组织形式。 1、赋值与取值 格式 redis> SET key value #...
  • 文章目录1、定义2、redis的windows安装和配置3、普通链接和连接池3.1、普通链接3.2、连接池4、redis操作数据类型4.1、redis之string操作4.2、redis之hash操作 1、定义 redis是一个key-value存储系统,和Memcached类似...
  • 字符串类型Redis最基础的数据结构,键值都是字符串类型。其他的几种类型都是在字符串类型基础上构建的,字符串类型的值实际上可以是字符串(包括JSON、XML)、数字(整数、浮点数)、甚至是二进制(图片、音频、视频),...
  •   Redis是一个数据结构类型服务器,不是单纯key-value存储。Redis里面键是二进制安全(二进制安全是指数据在传输...这是最简单的redis数据类型,在只使用这个数据类型的时候,Redis就和一个有持久存储功...
  • 上一篇文章简单介绍了reids的安装和配置,本篇文章主要来介绍redis支持存储的数据类型以及对基本类型操作的常用redis指令。redis数据类型Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对...
  • Redis是一个高性能的数据结构服务器,称之为数据结构服务器的原因是,它提供了丰富的数据类型以满足不同的应用场景,本文对Redis的数据类型以及对这些类型可能的操作进行总结。 Redis常用的数据类型包括string、set...
  • 文章目录0.通用命令一些简单通用命令数据结构和内部编码单线程架构1.字符串类型2.哈希类型3.列表类型4.集合类型5.有序集合类型 ...keys(redis数据库中所有键) 遍历出所有key dbsize(可以算出数据库大...
  • Redis 常用数据类型

    2016-03-18 16:19:08
    与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希 表、链表、集合、有序集合以及基于这些数据类型的相关操作。Redis使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,433
精华内容 1,373
关键字:

redis的数据类型包括

redis 订阅