Redis使用过程中的报错

Redis使用过程中的报错

1、使用源码包安装Redis2.8.13时出现的报错

问题1:zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录

在这里插入图片描述

原因:

在使用说明文件README中,查找jemalloc发现文件中有如下内容:

Selecting a non-default memory allocator when building Redis is done by setting the MALLOC environment variable. Redis is compiled and linked against libc malloc by default, with the exception of jemalloc being the default on Linux systems. This default was picked because jemalloc has proven to have fewer fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc

大致意思是:在构建Redis时,通过设置“MALLOC”环境变量来选择非默认内存分配器。默认情况下,Redis是针对libc malloc编译和链接的,但是Linux系统上默认使用jemalloc。之所以选择这个默认值,是因为jemalloc已被证明比libc malloc有更少的碎片问题。
要强制编译libc malloc,使用:
% make MALLOC=libc
要在Mac OS X系统上编译jemalloc,使用:
% make MALLOC=jemalloc

解决:

根据以上内容可以知道,只需要设置分配编译器重新编译即可

make MALLOC=libc
# 清除之前make编译的缓存
make clean
# 再执行make命令即可执行成功

2、使用Redis 2.8.13时报错

错误1:(error) WRONGTYPE Operation against a key holding the wrong kind of value

在这里插入图片描述

分析:

(错误)WRONGTYPE对持有错误类型值的键的操作,大致可以理解为查看logstash这个类型的值时使用的命令是错误的

# 查看logstash的类型
127.0.0.1:6379> TYPE logstash
list
# 可以看到 logstash 是list类型,而get用来获取tring类型值
# 所以使用获取lst值的命令即可
# lrange key 起始位置 终止位置
127.0.0.1:6379> LRANGE logstash 0 -1```
解决:

使用如下命令查询即可

127.0.0.1:6379> LRANGE logstash 0 -1```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值