前置知识:
Redis相关知识介绍:
初始默认使用0号库,我们可以测试一下:
另外:
那什么叫单线程+多路IO复用呢?我们可以用黄牛与顾客间的买卖票的例子来说明:
黄牛只有一个人,那么它就负责和火车站打交道(买票),这是一个单线程操作,而我们的1、2、3号在等黄牛买票的过程中可以自己去做别的事情(这样CPU就不会空闲下来而是一直运行),顾客只要等到黄牛将票买回来通知自己就可以了,即多路IO复用。
这就是Redis的底层的实现原理。
Redis键(key)
常用命令:
示例:
首先用keys *:
因为此时数据库内没有数据,所以key键为空,现在我们使用set命令插入三条数据:
现在我们再进行测试keys *:
查找k1键是否存在:
再查找一个key键不存在的:
测试type key命令:
测试del key:
Unlink key也是删除,但与del key不一样的点在于,del是直接删除,立马生效,而unlink则是返回告诉我们已经删除,但是真正的被删除操作是在后续的异步操作中进行的,并非马上就被删掉。
测试expire key和ttl key:
可以看见第一次查询的时候还有16s过期,第二次查询的时候还有1s过期,第三次查询时则已经过期。
测试dbsize:
有了这些知识以后,我们开始介绍我们Redis中常用的五大数据类型。
Redis字符串(String)
简介:
常用命令:
示例:
注意key值唯一,如果设置的key值重复,则新设置的value值会覆盖原来的value。
测试get key:
测试append:
测试strlen:
测试setnx:
测试incr(value+1)和decr(value-1):
还有一个命令:
步长就是你每次要加或者减的值。
Incrby一样。
然后要提到一个叫原子性的东西:
还有一些命令:
示例:
测试mset:
测试mget:
还有:
这些命令已经解释的很清楚了,我就不再一一演示了。
最后再讲一下Redis的底层数据结构是什么样的:
Redis列表(List)
简介:
常用命令:
示例:
最后讲一下Redis的List类型的底层数据结构:
Redis集合(Set)
简介:
常用命令:
示例:
底层数据结构:
Redis哈希(Hash)
简介:
常用命令:
示例:
其实都差不多。
底层数据结构:
Redis有序集合Zset(sorted set)
简介:
常用命令:
示例:
底层数据结构:
跳跃表的结构很麻烦,我也不是很懂,大家有兴趣的可以自己去查下资料嗷。
那到这五大数据类型就讲完啦。