Redis概述以及安装

二、Redis概述以及安装

  • Redis是一个开源的key-value存储系统;
  • 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set——有序集合)和hash(哈希类型);
  • 这些数据类型都支持push/pop、add/remove及取交集并集差集以及更丰富的操作,而且这些操作都是原子性的。
  • 在此基础上,Redis支持各种不同方式的排序;
  • 与memcached一样,为了保证效率,数据都是缓存在内存中;
  • 区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件;
  • 并且在此基础上实现了**master-slave(主从)**同步。

2.1 应用场景

2.1.1 配合关系型数据库做高速缓存

高频次,热门访问的数据,降低数据库IO;

分布式架构,做session共享;
在这里插入图片描述

2.1.2 多样的数据结构存储持久化数据

在这里插入图片描述

2.2 Redis安装

Redis官方网站:http://redis.io

安装版本:6.2.7 for Linux(redis-6.2.7.tar.gz

  1. 准备工作:下载安装最新版的gcc编译器

    yum install gcc

    下载完毕后查看gcc版本:

    gcc —version
    在这里插入图片描述

  2. 下载redis-6.2.7.tar.gz放到某个目录,这里我将其放在~/redis目录下,没有的话先创建这个目录:

    mkdir ~/redis

    进入该目录然后解压:

    tar-zxvf redis-6.2.7.tar.gz
    在这里插入图片描述

  3. 解压完成后进入目录,在目录下执行make命令:

    在这里插入图片描述

    这里是已经编译过的,所以很简短,编译过程需要一定的时间。

    目前还只是编译好,并没有安装。

  4. 继续执行make install,进行安装

    在这里插入图片描述

  5. 查看默认安装目录:/usr/local/bin
    在这里插入图片描述
    redis-benchmark:性能测试工具,用于检测Redis在本机的运行效率;

    redis-check-aof:修复有问题的AOF文件;

    redis-check-rdb:修复有问题的RDB持久化文件,rdb和aof后续再学习;

    redis-sentinel:Redis集群使用;

    redis-server:Redis服务器启动命令;

    redis-cli:客户端,操作入口。

2.3 服务端启动与客户端访问

至此已经安装完毕,下面测试redis是否能正常工作,对于服务器有两种启动方式:

  1. 前台启动(不推荐)

    前台启动,命令行窗口不能关闭,否则服务器停止;
    在这里插入图片描述

  2. 后台启动(推荐

    将 ~/redis/redis-6.2.7/redis.conf 配置文件拷贝一份到一个位置,比如这里将其拷贝一份到 /etc下:
    在这里插入图片描述
    用vi或vim编辑 /etc/redis.conf,把里面的daemonize no改成yes
    在这里插入图片描述

    然后以下面这种带有配置文件的启动方式后台启动:
    在这里插入图片描述
    并查找有无redis的进程,可以看到redis默认的端口号是6379。

用客户端访问服务端:redis-cli
在这里插入图片描述

若服务端提供了多个端口,客户端可以指定访问的端口:
在这里插入图片描述

测试验证:ping
在这里插入图片描述
说明是正常连接的。

2.4 Redis关闭

单实例关闭:redis-cli shutdown
在这里插入图片描述

也可以进入终端后关闭:
在这里插入图片描述
多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

2.5 补充知识

Redis默认16个数据库,类似数组下标从0开始,初始默认使用0号库;

使用命令select 来切换数据库,如select 8:
在这里插入图片描述

统一密码管理,所有库同样密码。

dbsize:查看当前数据库的key的数量;

flushdb:清空当前库;

flushall:通杀全部库。

Redis是单线程+多路IO复用技术:

多路复用是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

串行 vs 多线程+锁**(memcached)** vs 单线程+多路IO复用**(Redis)**

Redis与Memcached三点不同:支持多种数据类型,支持持久化,单线程+多路IO复用
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宜宾地震,这个系统跑赢了“地震波”!

来源:新华社、现场云、成都高新减灾研究所编辑:关开亮、李永锡、丁鹏程据中国地震台网正式测定:6月17日22时55分,四川省宜宾市长宁县(北纬28.34度,东经104.90度)发生6.0级地震,震源深…

环境变量的作用(以java指令为例)

在很多地方都会涉及到环境变量的概念,这边稍微记录一下笔记。 一、环境变量的分类 Windows中有两种环境变量:用户变量 和 系统变量,它们的区别和作用如下所示: 环境变量不区分大小写;系统变量对所有用户有效&#x…

获取应用程序信息.h

//// 获取应用程序信息.h// IOS笔记//一般会用来判断是否有新版本、是否需要强制更新iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“C…

一文看懂机器视觉芯片

来源:半导体行业观察来源:半导体行业观察【导读】机器视觉之于人工智能等同于视觉之于人类,本文系统介绍决定机器视觉的两大要素——视觉算法和芯片,重点介绍国内外视觉芯片市场及发展前景,包括重量级玩家及其产品。机…

单词短语搭配用法网站

https://linggle.com/? 通配符:*(星号,英文半角)通配一个单词;_(下划线,英文半角)通配多个单词。 例如,搜索in this paper we _(注意星号前需要有空格&…

java socket编程

一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台…

任正非与美国思想家的咖啡对话全文

来源:华为心声、蓝血研究美国的所作所为促成了华为的觉醒,现在是华为的“人造卫星”时代!——尼古拉斯尼葛洛庞帝美国学者与任正非的咖啡对话2019年6月17日田薇:“一杯咖啡吸收宇宙能量”,我是田薇。有人说&#xff0c…

免费英文批改网站

grammarly:https://app.grammarly.com ginger:https://www.gingersoftware.com/ 批改网:http://www.pigai.org/ 易改:http://www.1checker.com/ stylewriter:http://www.stylewriter-usa.com/ whitesmoke&#xf…

python图片显示中文

首先下载simhei字体(SimHei.ttf) https://www.fontpalace.com/font-details/SimHei/ 找到matplotlib包所在文件夹 import matplotlib matplotlib.matplotlib_fname() /home/***/site-packages/matplotlib/mpl-data/matplotlibrc(每个人不一样…

人工智能推理应用于场景的四大典型方式

来源:英伟达NVIDIA中国从Alexa和谷歌地图导航等语音助手,到Bing的对话搜索,人工智能已经成为许多人日常生活的一部分。这些任务需要执行深度学习推理,也可以被认为是将人工智能应用于场景。为人工智能提供动力的深度学习神经网络是…

JSTL标签库中fmt标签,日期,数字的格式化

首先介绍日期的格式化:(不要嫌多哦) JSTL格式化日期&#xff08;本地化&#xff09; 类似于数字和货币格式化&#xff0c;本地化环境还会影响生成日期和时间的方式。 <% page pageEncoding"UTF-8" %><% taglib prefix"c" uri"http://java.su…

LaTeX引用多篇bibtex格式文献

首先找到要引用的文献的bibtex格式&#xff08;谷歌学术的引用上有&#xff09;&#xff0c;如下图所示 其中"girshick2015fast"是该文献的标签(待会引用这篇文献时会用到)&#xff0c;可以自己重命名 将要引用的全部文献的bibtex格式放到一个txt文件上&#xff08;…

Libra白皮书面世 正确解读Facebook野心需注意这些点

来源&#xff1a;全链财经北京时间6月18日下午消息&#xff0c;Facebook的加密货币“Libra”相关网站正式上线&#xff0c;Facebook还发布了这款加密货币的白皮书。据coindesk报道称&#xff0c;Libra将在由100个分布式计算机服务器或节点启动的区块链网络上运行。目前有28个节…

网址的bibtex格式

用LaTeX引用网址时&#xff0c;可以将网址写成以下bibtex格式&#xff1a; misc{name,author {author names},title {This is title},howpublished{\url{http://www.this is url/}},year {2000}} 在导言去加入url包&#xff0c;即\usepackage{url} 如果想设置引用文献里网…

[Mac]Python 安装MySQLdb模块

今天我需要用python操作Mysql数据库&#xff0c;需要安装第三方MySQLdb模块&#xff08;下载地址&#xff1a;http://mysql-python.sourceforge.net&#xff09;&#xff0c;但是执行sudo python setup.py install时&#xff0c;提示缺少“mysql_config”文件,解决这个问题需要…

matlab保存colormap失败

自己辛苦手动调节的colormap想保存下来发现并没有保存&#xff0c;可以试试以下代码&#xff1a; ax gca; mycmap colormap(ax); save(MyColormaps,mycmap) 下次调用这个自定义的colormap时&#xff1a; load MyColormaps colormap(mycmap) 或者 ax gca; load MyColorm…

洪小文清华论道:AI 的前生今世及未来应用图景

来源&#xff1a;微软丹棱街5号丹棱君有话说&#xff1a;这是一场解析了 AI 前世今生及未来应用图景的演讲&#xff0c;一场经济学家与科学家的问答&#xff0c;将会对撞出怎样的思想火花&#xff1f;6月13日&#xff0c;微软全球资深副总裁、微软亚太研发集团主席兼微软亚洲研…

ios获取本地音乐库音乐很详细 扫描IPHONE本地音乐文件,获得音乐名,歌手名代码示例...

//扫描本地音乐文件&#xff0c;返回艺术家列表 需要库MediaPlayer.framework -(NSArray*) findArtistList { NSMutableArray *artistList [[NSMutableArray alloc]init]; MPMediaQuery *listQuery [MPMediaQuery playlistsQuery];//播放列表 NSArray *playl…

The value of a feed cannot be a tf.Tensor object.

使用tf.data.Dataset时出现报错“The value of a feed cannot be a tf.Tensor object.” session.run(train_op, feed_dict{model.image_4d:x,model.y:y}) 如上面的代码&#xff0c;tf.data.Dataset生成的是x和y是tensor&#xff0c;所以现将x和y转为numpy格式 x, y sessio…

中国学者变革300多年来的活塞!MIT、哈佛联手,动力3倍以上,可节能40%

来源&#xff1a;机器人大讲堂导读麻省理工学院&#xff08;MIT&#xff09;和哈佛大学的研究团队合作设计出了一种使用柔性材料的新型活塞&#xff0c;动力是传统活塞的3倍以上&#xff0c;且最多可节能40%。这种柔性活塞有望从根本上改变汽车发动机、机械臂、起重机、减震器和…