美文网首页
Redis数据类型 - 字符串

Redis数据类型 - 字符串

作者: 马蹄哒 | 来源:发表于2018-09-09 20:46 被阅读0次

        Redis不是一个普通的键-值存储引擎,它实际上是一个数据结构服务器,支持不同类型的值。不仅限于简单的字符串,还可以包含更复杂的数据结构。以下是Redis支持的所有数据结构。

    1. String:(二进制安全的字符串)。

    2.Lists: 根据插入顺序排列的字符串元素的列表(类似php的非关联数组),本质上是链表。

    3.Sets: 唯一的,无序的字符串元素的集合。

    4.Sorted sets: 类似于集合,但每个字符串元素都关联一个浮点数值,称为分数(score)。元素总是按照它们的分数排序,       因此与集合不同,它可以检索指定范围内的元素。

    5.Hashes: 字段和值构成的映射(类似php的关联数组),字段和值都是字符串。

    6. Bit arrays (or bitmaps): 采用比特位数组来存储字符串,可以对单个比特位置0或1,可以统计所有置为1的比特位数量,可 以查看第一个为1或0的比特位,等等。

    7. HyperLogLogs: 这是一个概率数据结构,用于快速估算集合的基数。

Redis keys(键)

        Redis键是二进制安全的,这意味着可以使用任何二进制序列作为键,从字符串“foo”到JPEG文件的内容。空字符串也是一个有效的键。

    a. 键不是越长越好。比如,一个1024字节的键不仅在耗内存,而且在数据集中比对键的的花销也更大。如果手头的任务是匹配一个大的值,使用哈希(例如使用SHA1)是一个更好的主意,特别是从内存和带宽的角度来看。

    b. 键也不是越短越好。比如,"user:1000:followers"做键的可读性就比"u:1000:flw"要好的多,占用的空间也不是特别多;虽然短键显然会消耗更少的内存,但需要找到正确的平衡。

    c. 键应该遵循一个模式。例如,“object-type:id”是一个好主意,如,“user:1000”。点(.)或破折号(-)通常用于多词字段,如“comment:1234:reply”。或“comment:1234:reply.to”。

    d. 键不能超过512Mb。

Redis Strings

    Redis字符串类型是可以与Redis键关联的最简单的值类型。它是Memcached唯一的数据类型。

    因为Redis键是字符串,所以当我们使用字符串类型作为值时,就是将字符串映射到另一个字符串。字符串数据类型对于很多情况都很有用,比如缓存HTML片段或页面。值可以是各种类型的字符串(包括二进制数据),例如,可以在值中存储jpeg图像。一个值不能大于512Mb。

常用命令:

    set key value  设置键值对(无论键是否存在,都生效)

    set key value nx  键不存在时生效

    set key value xx  键存在时生效

    get key  获取键的值

    mset key1 value1 key2 value2  设置多个键值对

    mget key1 key2  获取多个键的值

    incr key   键的值自增1(当值(字符串)可以转换成整数才有效)。类似的,incrby key 10

    decr key 键的值自减1(当值(字符串)可以转换成整数才有效)。类似的,decrby key 10

incr,decr的操作是原子性的,也就是说,即使多个客户端对同一个键进行INCR操作,永远不会出现这种情况:客户端1读取到“10”,客户端2同时读“10”,两者都增加到11,并将新值设置为11。事实上最终值将始终为12。

通用命令:

    exists key  键是否存在

    del key  删除键和值

    type key  值的数据类型

TTL(Time to live)键的生存时间:

    TTL可以使用秒或毫秒进行设置。

    然而,过期时间解析总是精确到1毫秒。

    关于生存时间的信息会被复制并持久化到磁盘上。(这意味着Redis会保存每个键的过期时间)。

    常用命令:

    expire key1 10  指定键key1的生存时间为10秒(key1以存在)

    set key value ex 10  设置键值对并指定生存时间(秒)

    ttl key  查看key剩余的生存时间(秒)

    pexpire key1 1000 指定键key1的生存时间为1000毫秒

    set key1 value px 1000  设置键值对并指定生存时间(毫秒)

    pttl key1 查看key1剩余的生存时间(毫秒)

    persist key  指定键永久有效

相关文章

  • Redis--数据类型命令(一)

    Redis字符串(string) Redis字符串数据类型的相关命令用于管理redis字符串值 语法: redis...

  • Redis的数据类型

    Redis的数据类型 Redis支持的数据类型有5种: 字符串String 字符串列表list 哈希hash 字符...

  • redis学习系列(二)

    redis简单操作之string类型 Redis 数据类型 Redis支持五种数据类型:string(字符串),h...

  • 面试遇到问题(五)

    Redis 参考 菜鸟教程redis常见面试题 redis 支持哪些数据类型 redis支持五种数据类型:字符串(...

  • Redis的数据类型

    Redis的数据类型 Redis支持的数据类型一般有6种: 字符串String 字符串链表linked-list ...

  • Redis入门(2) - 数据类型

    Redis中的数据类型 字符串 散列 列表 集合 有序集合 Redis中的数据类型 Redis定义了这几种数据类型...

  • redis数据类型

    Redis数据类型 Redis支持5中数据类型:string(字符串),hash(哈希),list(列表),set...

  • SpringBoot-Redis 入门

    SpringBoot-Redis 入门 Redis 的数据类型 String 字符串 string 是 redis...

  • Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),se...

  • Redis 学习笔记-基础数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),se...

网友评论

      本文标题:Redis数据类型 - 字符串

      本文链接:https://www.haomeiwen.com/subject/lxydgftx.html