Windows 10家庭中文版,运行于VirtualBox上的Ubuntu 18.04,Redis 4.0.10,

Redis,久仰大名!因为没有从事互联网行业,所以一直没有使用过。近期找工作,也隐约将其列入到了自己的学习计划之中,直到今天才第一次用了它。

在孤的认知中,Redis是一个缓存系统,可以存放一些数据,给应用提供快速查找的功能,而这个“快速”是针对的数据库操作来说的。为何这么快速?因为它的数据存放在内存中,而数据库是存放在磁盘上,所以,后者的操作会比前者慢。

快速是Redis(还有Memcached)等缓存软件的突出优势,但是,目前地球上内存超越GB的应该很少吧?除了超级计算机等——不熟悉,还请高人补充!因此,通常的应用场景是——Redis等软件做缓存,而MySQL等数据库软件做数据持久化存储,两者结合在一起——Redis等在前、MySQL等在后,一起为大数据量系统提供更好的服务——高效、完整、大并发、大数据量。

嗯,以上若有不对的地方,还请高人指点!

参考链接:

Redis官网:https://redis.io

RUNOOB的Redis教程:http://www.runoob.com/redis/redis-tutorial.html

使用Redis做MySQL的缓存:https://blog.csdn.net/songjianyue12345/article/details/78587053

打开Redis官网下载页面:https://redis.io/download,其中包含四个可下载版本——Stable(4.0)、Unstable、Beta(5.0)、Docker,孤选择了Stable版本。

页面往下,可以见到Installation小节,里面有Linux上安装、初步使用Redis的详细命令:四个命令,安装完成!

关于Redis在Windows上安装,不建议!Redis官方没有支持,仅仅推出了一个第三方软件,而这个也很久没有更新了,支持的Redis版本严重滞后!请参考官文Introduction最后一段:

下面是今日试用Redis的过程记录——安装、初步使用:

-下载(这是wget的方式,有些网友还介绍了sudo apt-get install的安装方式,两者存在一些区别)

-下载完毕,解压,进入解压后的目录:目录中的redis.conf是默认的配置文件——自己目前不熟悉

-使用make安装(make install也是可以的吧?)

-安装成功!非常简单!建议执行make test进行测试——后面会执行,结果是全部OK!

-Redis服务启动命令、客户端命令存在于src目录下,还有其它命令,但不熟悉。

-启动Redis服务

直接使用redis-server是不可以的,和安装方式有关系,当然,可以配置——怎么配置目前自己不清楚,需要dig;

使用./redis-server运行;

运行时没有其它参数,其实是可以添加的,比如自定义的配置文件,请参考默认配置文件及官文或其它资料;

-运行Redis客户端

无需参数,直接连接本机的Redis服务;

执行ping命令检查服务是否可用;

set一个键值对,get一个键的值;

vaccinum:疫苗;

-停止Redis服务:退出客户端后再次执行redis-cli命令,可以进入其命令行,但提示not connected;

-重启Redis服务,客户端再次登录,再次获取之前的键china的值,获取成功,没有丢失!

-执行make test检测Redis服务是否安装好;

执行前需要安装tcl;

-测试完成,全部通过!

Redis的Python接口:

官文Clients中有消息介绍:https://redis.io/clients

Python客户端模块,Redis官方加星星推荐redis-py。

Redis服务运行在虚拟机VirtualBox上的Ubuntu中,Windows主机的程序怎么访问呢?配置虚拟机的网络——自己目前对这个配置不是完全清楚,配置参考了某篇网友的博文!

-配置完毕后,获取了和Windows同一个网段的IP地址,此时,两者可以互通了;

注意,Ubuntu不能Ping通Windows,因为Windows禁止了,但测试表明,其可以访问Windows上的MongoDB服务器;

-Windows主机Ping虚拟机上Ubuntu的IP地址,可以Ping通,那么, 其上的Redis服务就可以被访问——待测试;

初步使用了SET/GET两个命令后,本想继续看官文深入学习的,可是,看了写选择暂时放弃……太低效了!很多可能看不懂!和自己现阶段目的不符合!于是,选择了RUNOOB教程,轻松, 愉快,几乎了解了怎么用Redis了,目前完成高级教程之外的部分,的确,一天的时间来讲,自己挺慢的,反省!

-来自RUNOOB的Redis教程的数据类型章节。

可是,自己在Redis官网还看到有Bit arrays、HyperLogLogs,为何如此?

-关于Redis的配置

见RUNOOB教程:http://www.runoob.com/redis/redis-conf.html

有一些,但一定不完善吧!但目前是够了!而且,即便这么少,自己也没有熟练掌握的啊!

下面是教程的部分截图,教程里面还有更多,不过,官文里面有更多。

好了,入门了吧!

接下来,进一步熟悉Redis,试用redis-py访问Redis服务。

问题:

Redis作为缓存软件使用,需要存储哪些数据呢?

Redis怎么和MySQL等数据库软件一起搭建后端数据存储系统呢?

Redis和Memcached的比较,两者的使用场景会有什么不同?

Redis还有一个发布/订阅功能,那么,和消息队列(MQ)软件相比又如何呢?

……

还有更多问题,让问题指引自己前进吧!

看一些先行者网友的博文也是挺不错的!

试用Redis的更多相关文章

  1. redis 的理解

    1.Redis使用 C语言开发的.Redis 约定此版本号,为偶数的版本是稳定版(如:2.4版 2.6版),奇数版是非稳定版(如:2.5版 2.7版) 2.Redis 数据库中的所有的数据都存储在内存 ...

  2. 执行大量的Redis命令,担心效率问题?用Pipelining试试吧~

    参考的优秀文章 Request/Response protocols and RTT 来源 原来,系统中一个树结构的数据来源是Redis,由于数据增多.业务复杂,查询速度并不快.究其原因,是单次查询的 ...

  3. [转载] Redis 起步

    转载地址:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在C ...

  4. redis的PHP扩展包安装方法

    试用Redis安装.php环境连接.测试  Redis介绍     Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解 ...

  5. Redis 起步

    Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介  Redis是一个key-value存储系统.和Memcached类似,但是解决 ...

  6. Redis起步

    Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介  Redis是一个key-value存储系统.和Memcached类似,但是解决 ...

  7. Spring Boot使用redis做数据缓存

    1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot</groupId> & ...

  8. Redis 缓存 + Spring 的集成示例(转)

    <整合 spring 4(包括mvc.context.orm) + mybatis 3 示例>一文简要介绍了最新版本的 Spring MVC.IOC.MyBatis ORM 三者的整合以及 ...

  9. 基于redis的cas实现

    cas是我们常用的一种解决并发问题的手段,小到CPU指令集,大到分布式存储,都能看到cas的影子.本文假定你已经充分理解一般的cas方案,如果你还不知道cas是什么,请自行百度 我们在进行关系型数据库 ...

随机推荐

  1. 【BZOJ4205】卡牌配对

    Description 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且 ...

  2. 【ZJOI 2018】 历史(lct)

    历史 题目描述 九条可怜是一个热爱阅读的女孩子. 这个世界有 $n$ 个城市,这 $n$ 个城市被恰好 $n-1$ 条双向道路联通,即任意两个城市都可以互相到达.同时城市 $1$ 坐落在世界的中心,占 ...

  3. Spring小节

    Spring的总结 Spring的核心: 1. Spring的两大核心: 1. IOC: 控制反转,将创建(实例化)对象的权利交给Spring容器去进行管理. 2. AOP: 面向切面编程(将切面织入 ...

  4. 解题:USACO14MAR Counting Friends

    题面 枚举每个数字是否能被删去,然后就是如何判定图是否存在.应该从按“度数”从大到小排序,从最大的顺次向其他点连边(先连“度数”小的可能会把一些可以和大“度数”点连接的点用掉).但是这个排序每连一次都 ...

  5. lumen 使用 laravel-cors 的时候, 使用 dd 函数的解决方法

    if (! function_exists('dd')) { /** * Dump the passed variables and end the script. * * @param mixed ...

  6. mysql 优化之查询缓存(mysql8已经废弃这个功能)

    对于缓存,一般人想到的是 redis.memcache 这些内存型的缓存. 但是实际上 mysql 也提供了缓存,mysql 里面的缓存是查询缓存,可以把我们查询过的语句缓存下来,下一次查询的时候有可 ...

  7. python【数据类型:集合】

  8. 怎么在.net里面解析JSON文件?

    我在网上搜了好多的文章,讲了很多的方法.但是无一例外的都看不懂...可能是因为我在这方面是个白痴吧... 所幸的是,我搜到了一个博客,写的很是清晰,比我之前看的大片文章写的好多了,在这里:http:/ ...

  9. jmeter编写beanshell及内置方法的使用

    (一)BeanShell简介 BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型.命 ...

  10. Maven项目中通过profile定义使不同环境使用不同配置信息

    profile可以让我们定义一系列的配置信息,然后指定其激活条件.这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果.比如 ...