试用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是什么,请自行百度 我们在进行关系型数据库 ...
随机推荐
- 【bzoj3832】Rally
Portal -->bzoj3832 Description 给你一个DAG,每条边长度都是\(1\),请找一个点满足删掉这个点之后剩余图中的最长路最短 Solution 这题的话感觉 ...
- R语言画图
转http://www.cnblogs.com/jiangmiaomiao/p/6991632.html 0 引言 R支持4种图形类型: base graphics, grid graphics, l ...
- python3.5无法安装pip,报错ImportError: cannot import name 'HTTPSHandler'
本人系统为:centos6 解决方法: 1 安装openssl yum install openssl 2 安装openssl-devel yum install openssl-devel 3 ...
- python lambda表达式与三元运算
1.三元运算 格式: 为真时的结果 if 判定条件 else 为假时的结果 #!/usr/bin/python # -*- coding: UTF-8 -*- def f(x, y): # 如果x大于 ...
- 利用RAP搭建可视化接口管理平台
环境:CentOS7 jdk:1.7.0_51 redis:3.2.8 mysql:5.6 tomcat:8.0 安装过程: 依赖组件安装: 安装jdk.redis.mysql.tomcat过程省略. ...
- 前端路由的两种模式: hash 模式和 history 模式
随着 ajax 的使用越来越广泛,前端的页面逻辑开始变得越来越复杂,特别是spa的兴起,前端路由系统随之开始流行. 从用户的角度看,前端路由主要实现了两个功能(使用ajax更新页面状态的情况下): 记 ...
- JavaScript中replace()方法的第二个参数解析
语法 string.replace(searchvalue,newvalue) 参数值 searchvalue 必须.规定子字符串或要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则 ...
- vuejs实现数据驱动视图原理
什么是数据驱动 数据驱动是vuejs最大的特点.在vuejs中,所谓的数据驱动就是当数据发生变化的时候,用户界面发生相应的变化,开发者不需要手动的去修改dom. 比如说我们点击一个button,需要元 ...
- MongoDB 及 Mysql 背后的 B/B+树
索引是数据库常见的数据结构,每个后台开发人员都应该对索引背后的数据结构有所了解. 本文通过分析B-Tree及B-/+Tree数据结构及索引性能分析及磁盘存取原理尝试着回答一下问题: 为什么B-Tree ...
- java反射动态加载类Class.forName();
1,所有的new出来的对象都是静态加载的,在程序编译的时候就会进行加载.而使用反射机制Class.forName是动态加载的,在运行时刻进行加载. 例子:直接上两个例子 public class Ca ...