Redis入门
1、Redis的版本和下载
关于Redis的创作历史和作者相关的故事网上有很多,在此不再赘述。毕竟鸡蛋好吃,但没必要把下蛋的鸡也抓来看看。
Redis常见的有Linux和windows两种版本,不过Redis官方仅支持Linux版(Redis作者仅开发了Linux版),而windows版的作者另有其人(一说是大神通过修改Linux源码得到的)。对于Redis的基础学习来说,使用哪个版本差别不大,入门时可以暂时先使用windows版。之后再向Linux版过度。
Redis的作为内存数据库,和传统数据库相比,最明显的特征就是一个字:"快"。在该特征的指导下,Redis更常见的使用场景是作为缓存,虽然实际上Redis还可以完成更多的功能(比如消息队列,关注列表等)。在大型互联网公司(如携程、新浪等)中,动辄上百T容量的Redis集群将Redis的性能发挥的淋漓尽致。
对于并发和访问量越来越大的互联网公司,Redis已经成为了不可或缺的重要组成部分。传统db完全无法直接应付巨大的流量冲击。所以所有的查询都必须保证不能直接落在db上,要保证绝大多数的请求落在Redis上并被Redis成功拦截。这就要求Redis需要缓存大量的数据,以此来保证不会被"缓存击穿",此场景下Redis集群的巨大容量也就情有可原了。
但是使用大容量的Redis集群同时又会带来一系列直接使用db或者单机Redis的时候不会产生的问题:比如最典型的就是数据一致性问题。当然这个问题其实不仅仅是Redis的问题,也是整个分布式架构下的一大难题,整个分布式架构解决方案都是在保证时效性的基础上追求该问题的最优解,这里就不展开讨论了。
总的来说,Redis入门简单,精通很难,同时又是不可或缺的。鉴于Redis是如此的重要,所以它最大的作用也就呼之欲出了,那就是面试。面试必问。
Redis中有许多的命令可以使用,想要一次性全部记住那是相当困难的。当我们忘记的时候,除了查看文档,Redis本身也给我们提供了很好的方式进行查询,那就是help命令
--通过该命令可以帮助我们查询string类型的相关操作,我们还可以输入"help @hash","help @list"等等127.0.0.1:6379> help @string APPEND key value summary: Append a value to a key since: 2.0.0 BITCOUNT key [start end] summary: Count set bits in a string since: 2.6.0 BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL] summary: Perform arbitrary bitfield integer operations on strings since: 3.2.0 BITOP operation destkey key [key ...] summary: Perform bitwise operations between strings since: 2.6.0 ......下面还有很多.......