Redis系列----(二)redis中的数据结构类型

一.前言

redis并不是简单的key-value数据容器,不能将其理解为静态存储数据,它是动态交互的数据结构服务器,可以被用作缓存,高性能k-v数据库等。

它支持很多种类型的数据结构,不仅支持string类型的value,还支持很多种复杂类型的数据。以下简单列出redis支持的数据类型,后续再对每种数据类型以及它们的常用操作命令做详细介绍

1.安全二进制氏String类型:将String类型作为元素值;

2.Lists类型:根据插入顺序的String类型为元素的集合,基于Linked List实现,非Array型;

3.Sets类型:无重复且无序的String类型为元素的集合;

4.Sorted Set类型:无重复且有序的String类型为元素的集合;

5.Hashes类型:映射域到值类型的数据结构,其中域和值都是String类型;


二.Redis数据类型详解

在介绍数据类型之前,先让我们来看看Redis k-v数据结构中非常重要的key形式。redis中的key是二进制安全的也就是说任何二进制序列都可以作为key,譬如:字符串“foo”,一张图片的内容等。甚至空字符串都可以。

良好的key的命名规则如下:

1.key不要太长。在redis中可以的最大容量是512M,但是实际中key超过1024byte就非良好的设计方式了。key值太大不仅浪费内存空间,更是在请求中对于key'的查找需要更多的时间进行比较;

2.key值不宜太短。这个原则貌似与第一条相冲突,实则不然。有时key的变长使得增加空间相对于使得key更具可读性更显次要;

3.key的命名中可以使用冒号和破折号加以细分,使key更具可读性,灵活性。例如:aticle:1000:tags。其中第一位表示类型,第二位表示该类型对象的Id,第三位表示Id为1000的文章中的标记;

作用于Key的常用命令:

redis提供很多非常实用而有效的命令,这些命令作用于redis中的Key,管理Key的空间。

1.EXISTS

exists主要是查找指定的键是否存在,如果存在则返回(Integer) 1,否则返回(Integer) 0。使用情况如下:

首先实用redis-cli命令进入redis的客户端命令行模式:

127.0.0.1:6379> SET mystring "mystring0"
OK
127.0.0.1:6379> GET mystring
"mystring0"
127.0.0.1:6379> EXISTS mystring
(integer) 1
127.0.0.1:6379> EXISTS mystring1
(integer) 0
127.0.0.1:6379> 

2.DEL

del主要用来删除Key,并将Key对应的值随之删除。

127.0.0.1:6379> EXISTS mystring
(integer) 1
127.0.0.1:6379> 
127.0.0.1:6379> DEL mystring
(integer) 1
127.0.0.1:6379> EXISTS mystring
(integer) 0
127.0.0.1:6379> GET mystring
(nil)
127.0.0.1:6379> 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值