【Redis篇】入门篇

Redis入门介绍

随着高速缓存技术的越来越火热,越觉得在日常开发中迫切需要用到的技术,所以赶紧充充电。我浏览过很多介绍了Redis的来源、特点、数据结构、应用场景的博客,也看过一些书籍什么的,但是作为一个新接触的入门者来说,我觉得看视频更能让我们快速的入门,尤其是一个讲解比较有趣的****之后。能够全局把握这个技术的优势和劣势。接下来的几篇我将以博客的形式记录我所学的内容,希望能给同道中人一些启示。

入门概述

快速学习一门技术,首先要搞清楚它是什么?然后它出现并且比较火热的原因是什么?我们从哪里可以得到它,我们怎么玩这个新的技术,最后最好总结分享成一个博客,既可以与别人分享自己的学习成果,也可以后期去温习巩固这个技术的知识点。

是什么?

官网是这样介绍的:
【Redis篇】入门篇

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

解决什么问题?

  1. 会话缓存(Session Cache)

最常用的一种使用Redis的情景是会话缓存,用Redis缓存会话比其他存储(如Memcached)的优势在于:Redis提供持久化,对于一个严格要求数据一致性的缓存时,优先选择redis。

  1. 全页缓存(FPC)

除基本的会话token之外,Redis还提供很简便的FPC平台。回到一致性问题,即使重启了Redis实例,因为有磁盘的持久化,用户也不会看到页面加载速度的下降,这是一个极大改进,类似PHP本地FPC。

  1. 队列

Reids在内存存储引擎领域的一大优点是提供 list 和 set 操作,这使得Redis能作为一个很好的消息队列平台来使用。Redis作为队列使用的操作,就类似于本地程序语言(如Python)对 list 的 push/pop 操作。

  1. 排行榜/计数器

Redis在内存中对数字进行递增或递减的操作实现的非常好。集合(Set)和有序集合(Sorted Set)也使得我们在执行这些操作的时候变的非常简单,Redis只是正好提供了这两种数据结构。所以,我们要从排序集合中获取到排名最靠前的10个用户–我们称之为“user_scores”,我们只需要像下面一样执行即可:
当然,这是假定你是根据你用户的分数做递增的排序。如果你想返回用户及用户的分数,你需要这样执行:
ZRANGE user_scores 0 10 WITHSCORES
Agora Games就是一个很好的例子,用Ruby实现的,它的排行榜就是使用Redis来存储数据的,你可以在这里看到。

  1. 发布/订阅

发布/订阅的使用场景确实非常多,redis提供了发布/订阅的功能,但是使用的很少,所以不是那么的重要。

同类产品有哪些?

  1. Memcache

Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。

  1. Tair

tair 是淘宝的一个开源项目,它是一个分布式的key/value结构数据的解决方案。作为一个分布式系统,Tair由一个中心控制节点(config server)和一系列的服务节点(data server)组成,

  • config server 负责管理所有的data server,并维护data server的状态信息;为了保证高可用(High Available), config server可通过hearbeat 以一主一备形式提供服务;
  • data server 对外提供各种数据服务,并以心跳的形式将自身状况汇报给config server;所有的 data server 地位都是等价的。

从哪里下载

  1. 地址:https://redis.io/
    【Redis篇】入门篇

虚拟机系统安装

  1. 虚拟机安装linux系统
    虚拟机安装centos

Redis 安装

  1. centos安装redis
    Centos 安装redis

redis初次启动杂识

  1. 启动和登录

[email protected]:/myredis$ redis-server /myredis/redis.conf
[email protected]:/myredis$ redis-cli -p 6379

【Redis篇】入门篇
3. 单进程模型来处理客户端的请求。对读写等事件的响应
4. 默认16个数据库,类似数组下表从零开始,初始默认使用零号库
【Redis篇】入门篇
5. Select命令切换数据库
【Redis篇】入门篇
6. Dbsize查看当前数据库的key的数量
【Redis篇】入门篇
7. Flushdb:清空当前库
【Redis篇】入门篇
8. Flushall;通杀全部库
【Redis篇】入门篇

总结

本文简单主要介绍了我Redis的入门学习的基础安装及使用,接下来记录我学习redis基本数据结构的过程。