试用Redis
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的更多相关文章
- redis 的理解
1.Redis使用 C语言开发的.Redis 约定此版本号,为偶数的版本是稳定版(如:2.4版 2.6版),奇数版是非稳定版(如:2.5版 2.7版) 2.Redis 数据库中的所有的数据都存储在内存 ...
- 执行大量的Redis命令,担心效率问题?用Pipelining试试吧~
参考的优秀文章 Request/Response protocols and RTT 来源 原来,系统中一个树结构的数据来源是Redis,由于数据增多.业务复杂,查询速度并不快.究其原因,是单次查询的 ...
- [转载] Redis 起步
转载地址:http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在C ...
- redis的PHP扩展包安装方法
试用Redis安装.php环境连接.测试 Redis介绍 Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解 ...
- Redis 起步
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介 Redis是一个key-value存储系统.和Memcached类似,但是解决 ...
- Redis起步
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介 Redis是一个key-value存储系统.和Memcached类似,但是解决 ...
- Spring Boot使用redis做数据缓存
1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot</groupId> & ...
- Redis 缓存 + Spring 的集成示例(转)
<整合 spring 4(包括mvc.context.orm) + mybatis 3 示例>一文简要介绍了最新版本的 Spring MVC.IOC.MyBatis ORM 三者的整合以及 ...
- 基于redis的cas实现
cas是我们常用的一种解决并发问题的手段,小到CPU指令集,大到分布式存储,都能看到cas的影子.本文假定你已经充分理解一般的cas方案,如果你还不知道cas是什么,请自行百度 我们在进行关系型数据库 ...
随机推荐
- Android App Architecture使用详解
Android应用架构简介 对于经过过构建app的Android开发人员来说, 现在是时候了解一下构建鲁棒, 质量高的应用的最佳实践和推荐架构了. 这篇文章假设读者对Android framework ...
- 洛谷 P3942 将军令 解题报告
P3942 将军令 题目描述 又想起了四月. 如果不是省选,大家大概不会这么轻易地分道扬镳吧? 只见一个又一个昔日的队友离开了机房. 凭君莫话封侯事,一将功成万骨枯. 梦里,小\(F\)成了一个给将军 ...
- Mac显示同一程序的所有窗口
通过F3键可以显示所有程序的所有窗口到桌面,但是如果窗口太多的话显示出来很难看清. 如果只显示某一个程序的所有窗口就不会乱了. 其实在dock上有一个相应的选项,但是没有快捷键. 开启方法: 在终端上 ...
- Webpack 配置示例
Webpack 作为前端构建工具,对于大型网站开发,大大提升了开发效率.要使用webpack需要先安装webpack工具: 先来看一个最简单的命令 $ webpack main.js bundle.j ...
- boost::asio 同步&异步例子
同步客户端: using boost::asio; io_service service; ip::tcp::endpoint ep( ip::address::from_string(); ip:: ...
- .net 控件开发常见的特性总结
http://blog.csdn.net/aofengdaxia/article/details/5924364 在.net开发中常常需要使用一些[]里面的特性描述,我发现对常用的几个知道大概的意思, ...
- (转)话说C语言const用法
const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable). 我们来分情况看语法上它该如何被使用. 1.函数体内修饰局部变量. 例: void ...
- git的一些常见问题
from:http://hi.baidu.com/mvp_xuan/blog/item/2ba062d8cd2c9fc939012fae.html 关于linux上建库等操作请看文章: http:// ...
- 2018java面试集合
作者:刘成链接:https://www.zhihu.com/question/266822548/answer/317700943来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- etcd基本操作
目录 概述 安装etcd 使用etcdctl操作etcd 数据库操作 非数据库操作 使用curl操作etcd 概述 etcd是一个用于共享配置和服务的高可用键值存储系统,由CoreOS使用开发并作为C ...