试用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是什么,请自行百度 我们在进行关系型数据库 ...
随机推荐
- BZOJ 1340: [Baltic2007]Escape逃跑问题
1340: [Baltic2007]Escape逃跑问题 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 285 Solved: 133[Submit] ...
- 【BZOJ4027】兔子与樱花(贪心)
[BZOJ4027]兔子与樱花(贪心) 题面 BZOJ 洛谷 题解 很直观的一个感受就是对于每个节点, 考虑它的所有儿子,如果能删就删. 那么我们把所有儿子按照给删去后给父亲\(c[i]\)的贡献从小 ...
- 【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)
[BZOJ5311/CF321E]贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性) 题面 BZOJ CF 洛谷 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!!!!! ...
- hdu 5852 :Intersection is not allowed! 行列式
有K个棋子在一个大小为N×N的棋盘.一开始,它们都在棋盘的顶端,它们起始的位置是 (1,a1),(1,a2),...,(1,ak) ,它们的目的地是 (n,b1),(n,b2),...,(n,bk). ...
- 关于[x/y]一些小想法
[x/y],即x除以y下取整 (不会LATEX) 1.对于给定的x,对于所有的1<=y<=x, [x/y]一共有√x种取值. 证明: 对于y<=√x,y有根号种,所以值最多根号种.对 ...
- eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决
转: eclipse安装activiti5.18.0工作流插件 以及安装过程中activiti插件出现的问题及解决 2017年05月04日 18:44:21 JJ_nan 阅读数:2773 版权声 ...
- laravel 嵌套事务
什么是嵌套事务? 一般情况下我们都是一个 begin, 一个 commit 或 rollBack, 但是有可能我们有种场景需要 begin 然后在事务里面再开一个事务, 这就是嵌套事务. MySQL ...
- Elasticsearch相关概念了解
mysql ⇒数据库databases ⇒表tables ⇒ 行rows ⇒ 列columns es ⇒索引indices ⇒ 类型types ...
- 使用 Collections 实现排序 sort方法 对List 实体类实现Comparable类 示例
package com.test.jj; import java.util.ArrayList; import java.util.Collections; public class Test { A ...
- Vue入坑教程(一)——搭建vue-cli脚手架
1. Vue简介 详细内容可以参考官网Vue.js 1)兼容性 Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性.但它支持所有兼容 ECMA ...