浅谈Redis数据类型

    Redis有5种基本数据类型,分别为String(字符串),list(列表),hash(字典),set(集合),和zset(有序集合)。这5中数据类型的熟练使用,是Redis的相关知识中最基础,最重要的部分,也是Redis面试面试题中被问到最多的知识点。

    在这里将带领Redis初学者快速掌握着5中数据类型,考虑到Redis的命令非常多,这里只选取最常见的进行讲解。

  1. String(字符串)

    字符串string是Redis中最简单的数据结构,他的内部标示的就是一个字符数组。Redis所有的数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key值来获取对应value数据,不同的数据类型的差异就在于value的结构不一样。

         字符串的结构使用的非常广泛,一个常见的用途就是缓存用户信息,我们将用户信息结构体使用JSON序列化成字符串,然后将序列化后的字符串塞进Redis来缓存。同样,取用户信息会经过一个反序列化的过程。

         Redis的字符串是动态字符串,可以修改字符串,内部结构类似于Java的ArrayList,采用预分配的冗余空间的方式来减少内存分配的频率,内部为当前字符串分配的实际空间一般高于实际字符串长度,当字符串长度小于1MB时,扩容都是加倍现有的空间,如果字符串长度超过了1MB,扩容时一次只会多扩容1MB,需要注意的是字符串最大长度为412MB。

       【键值对】

         想当于字段的key和value,支持简单的正删改查的操作,下面代码中的“name”就是字典中的key,而value就是字符串                       的“codehole”,一下是常用的命令整理

Sring类型常用的命令
GET、SET最基本的命令语法:GET key,SET key value   value如果有空格需要双引号以示区分
INCR整数递增语法:INCR key    默认值为0,所以首先执行命令得到 1 ,不是整型提示错误
INCRBY 增加指定的整数语法:INCRBY key increment
DECR整数递减语法:DECR key   默认值为0,所以首先执行命令得到 -1,不是整型提示错误
DECRBY减少指定的整数 语法:DECRBY key increment
INCRBYFLOAT增加指定浮点数语法:INCRBYFLOAT key increment  与INCR命令类似,只不过可以递增一个双精度浮点数
APPEND向尾部追加值语法:APPEND key value   redis客户端并不是输出追加后的字符串,而是输出字符串总长度
STRLEN获取字符串长度语法:STRLEN key  如果键不存在返回0,注意如果有中文时,一个中文长度是3,redis是使用UTF-8编码中文的
MGET获取多个键值语法:MGET key [key ...]  例如:MGET key1 key2
MSET设置多个键值语法:MSET key value [key value ...]  例如:MSET key1 1 key2 "hello redis"
GETBIT二进制指定位置值

语法:GETBIT key offset   例如:GETBIT key1 2 ,key1为hello 返回 1,返回的值只有0或1,当key不存在或超出实际长度时为0

SETBIT设置二进制位置值语法:SETBIT key offset value ,返回该位置的旧值
BITCOUNT二进制是1的个数语法:BITCOUNT key [start end] ,start 、end为开始和结束字节
BITOP 位运算 语法:BITOP operation destkey key [key ...]  ,operation支持AND、OR、XOR、NOT
BITPOS 偏移语法:BITPOS key bit [start] [end]

 

         

 

        

   

 

 

 

   

 

 

 

 

 

 

 

 

 

 

 

 

正在更新,未完待续。。。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值