当前位置: 首页 > news >正文

centos redis make 报错_memcached和redis的初步了解

    想要做一个大型网站,memcached和redis是一个绕不过去的坎,所以尽管之前没接触过,也还是硬着头皮去学习了下。

    还是先来一段官方介绍:Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。当然看完还是晕的也很正常,二者的区别及优缺点网络上都很多,直接来实战。


    memcached的安装和使用,windows中我安装版本小于1.45,这样可以作为一个服务来安装,下载好memcached之后进入到下载目录

memcached.exe -d install    #安装memcached.exe -d start     #启动memcached.exe -d stop     #停止memcached.exe -d uninstall   # 卸载memcached.exe -d runservice -m 512 # 后台运行缓存设置为512M

    linux中的安装(centos),

yum install memcachedwhereis memcached  # 查看安装目录# 或者使用源码安装,我采用的第二种wget http://memcached.org/latest                    #下载最新版本tar -zxvf memcached-1.x.x.tar.gz                    #解压源码cd memcached-1.x.x                                  #进入目录./configure --prefix=/usr/local/memcached           #配置make && make test                                   #编译sudo make install                                   #安装

    memcached中的默认端口号为11211,如果想要其它服务器能够访问本机的memcached,可以使用如下参数启动,开始必须是/usr/bin/memcached

/usr/bin/memcached -d -m 1024 -u root -l 0.0.0.0 -p 11211

    然后阿里云(我的linux服务器在阿里云)开放11211端口给我的IP地址,再放行防火墙的11211端口

firewall-cmd --zone=public(作用域) --add-port=11211/tcp(端口和访问类型) --permanentfirewall-cmd --zone=public --list-all

b656ce3b67bdb480948e463c58379cd0.png

可以看到我的防火墙中已经放开了11211端口,如果你还是无法通过远程telnet [ip] 11211访问到你的远程memcached,别着急,请先用systemctl restart firewalld.service重启防火墙,让配置生效,这个时候,再使用telnet链接,可以看到漆黑一片,已经链接成功

44817484e21f0ad55c13ec16d5225275.png

测试如下,说实话是真的难用,没有提示,没有删除按键,一旦输入错误就得重新输入,stats items可以看到存储了多少key-value,使用stats cachedump [items_id] 0(表示所有)可以查看键名的一些情况,使用quit退出链接。

2c8929de5fd56a2cabc55653325cb5e2.png


    redis的安装使用,我是直接在linux服务器上进行的安装,并没有安装到windows中,网址:https://redis.io/download,按照其Installation里面的介绍来安装即可,

$ wget https://download.redis.io/releases/redis-6.0.9.tar.gz$ tar xzf redis-6.0.9.tar.gz$ cd redis-6.0.9$ make

在执行make命令之前,也可以进入到redis下面的src目录看一下,是没有redis 服务程序 redis-server,和用于测试的客户端程序 redis-cli的,当进行编译之后,我们就可以进入到src目录下面使用./redis-server启动服务,当然这是前台启动,我们可以看到有一长串的Warning

no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf

这是因为我们没有配置redis.conf文件,所以我们需要把配置文件修改下,因为配置文件在上级,修改起来不方便,我是将其拷贝到src同级目录下,然后修改daemonize为yes

2ee1d59d34571ae53ca71f3dd2555137.png

保存之后使用./redis-server redis.conf启动,没有任何报错即意味着启动,

ps aux | grep redisroot     15463  0.0  0.5  61800  9640 ?        Ssl  21:14   0:00 ./redis-server 127.0.0.1:6379root     15470  0.0  0.0  12108   980 pts/0    S+   21:14   0:00 grep --color=auto redis

我们可以使用./ redis-cli运行测试客户端程序进行测试,输入ping,如果返PONG,则说明成功启动,如果你配置了密码,尽管可以启动redis-cli,但如果你没有输入密码,ping之后会显示权限错误

cd4a627dfb11d70393d66a8fca2b1cce.png

我们可以使用CONFIG GET *获取配置文件信息,也可以使用如下格式的代码来短暂修改配置文件信息(测试,修改的信息会在redis重启之后丢失)

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

88cf828d2f2f4cc92e23c5e20f1ce17c.png

CONFIG SET save "500 1 300 10 60 10000"

771b2f2855e1f27604243a3bdf5d729d.png

    如果想要通过外网来链接redis,阿里云和防火墙放行端口6379(据说是redis创始人造的梗,手机上MERZ字母按键的缩写),再将redis.conf文件中的bind ip注释掉,网上还有教程让关闭protect-mode,完全不需要。

    不得不说在linux终端上,redis用起来还是比memcached方便,tab补全,字符提示,强大的列表,集合,哈希数据结构的存储,RDB和AOF持久化,当然最终还是用python代码来操作他们,所以还是得看需求。

相关文章:

  • windbg分析dmp蓝屏文件_推荐收藏 | 几种常见电脑蓝屏的解决方案
  • linux查看剩余多少内存_内存性能篇-swap的概念
  • python小课文件_使用python实现一个(文件版)简单的课程管理系统
  • mfc在原页面的基础上增加一个页面并保存原来内容_简悦 1.1.4 发布了,它已经是一个即将满 1000 天的「老」产品了,这里有关于它的一些记忆...
  • python列表、元组、字典和集合的算法时间_Python中序列,列表,元组,字典及集合...
  • python自动处理文档_用Python完成一件小事:自动生成文档报告
  • htmlcss实例小项目_HTMLCSS学习笔记(一)-- 入门介绍
  • drools规则引擎可视化_几大工作流引擎对比
  • python3检测文件的编码格式_python判断文件的编码格式是否为UTF8 无BOM格式
  • git-2.29.2.2-64-bit安装_FairRoot安装注意事项
  • java执行sql文件_Mybatis进阶笔记:架构概述与基本执行流程梳理
  • catia二次开发_CATIA二次开发文件双手奉上,重命名非参后的CATPart
  • admin manager_Hadoop - 企业级大数据管理平台CDH(安装cloudera-manager)
  • python如何打印字符串_python 中 打印及格式化字符串的相关方法
  • selenium firefox驱动_[Selenium]2.开发环境配置
  • 【Leetcode】101. 对称二叉树
  • @angular/forms 源码解析之双向绑定
  • 【技术性】Search知识
  • ComponentOne 2017 V2版本正式发布
  • CSS 专业技巧
  • ES6 学习笔记(一)let,const和解构赋值
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • HTTP--网络协议分层,http历史(二)
  • IDEA常用插件整理
  • Java教程_软件开发基础
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • Python_OOP
  • React as a UI Runtime(五、列表)
  • RxJS: 简单入门
  • vue 个人积累(使用工具,组件)
  • windows下mongoDB的环境配置
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端面试之闭包
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 设计模式走一遍---观察者模式
  • 什么是Javascript函数节流?
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用common-codec进行md5加密
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 数据科学 第 3 章 11 字符串处理
  • 译有关态射的一切
  • 应用生命周期终极 DevOps 工具包
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 整理一些计算机基础知识!
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ###STL(标准模板库)
  • #{}和${}的区别?
  • (09)Hive——CTE 公共表达式
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (c语言)strcpy函数用法
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (poj1.3.2)1791(构造法模拟)
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot优课在线教学系统 毕业设计 081251