欢迎关注微信公众号:互联网全栈架构
Redis提供了丰富的数据类型,包括了五种基本数据类型和五种扩展数据类型(非官方分类,仅个人总结,方便记忆):

本文介绍5种基本数据类型,在列出常用的命令之外,还附以实例操作和适用场景说明,方便大家参考阅读。后续文章会介绍另外5种扩展数据类型,敬请期待。

1

String

String是最基本的也是最常用的数据类型,它是一个key-value键值对的结构,key是键,字符串类型,而value是对应的值,可以是字符串,也可以是二进制数据,包括序列化对象、图片等。

字符串类型的应用非常广泛,包括缓存、计数器、分布式锁、Session共享等场景。

下面我们来看看String的一些常用操作:

#设置键值对,如果key不存在,则新增

SET key value

#设置key的过期时间

SETkey value EX [过期时间]

SETEX key [过期时间]value

#获取key对应的value

GETkey

#判断key是否存在

EXISTS key

#删除key

DEL key

#获取key对应的过期时间

TTL key

#将key中存储的数字加1

INCR key

#将key中存储的数字减1

DECR key

记得很早以前去面试,面试官问了一个关于redis key过期的小问题:如果设置了一个key的过期时间,过一段时间再重新设置这个key的值,那么它的过期时间会变吗?我们来试验一下:

127.0.0.1:6379>ZADDmygame10"John"12"Tom"8"Tony"7"Hank"(integer)4127.0.0.1:6379>ZRANGEmygame0-11)"Hank"2)"Tony"3)"John"4)"Tom"127.0.0.1:6379>ZRANGEBYSCOREmygame10151)"John"2)"Tom"127.0.0.1:6379>ZINCRBYmygame8"Hank""15"127.0.0.1:6379>ZSCOREmygame"Hank""15"127.0.0.1:6379>ZRANKmygame"John"(integer)1

6

总结

Redis提供了5种基本数据类型,功能非常强大,涵盖面也比较广,可以适用于很多的实际场景,而Memcached仅提供了简单的key-value,相比之下,Redis就强大得多。另外,Redis还提供了其他扩展的5种数据类型,我们会在后续的文章中进行介绍,敬请关注。谢谢!

推荐阅读:

离大谱,MySQL竟然无视空格的存在!

吃透Redis系列:总体介绍

高频面试题:合并两个List并去重

彻底搞懂MySQL的执行计划

数据同步的利器:Canal

拒绝空谈:实例演示MySQL事务隔离级别