千家信息网

nosql之redis简单安装与使用

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,redis基础应用场景:web间session共享,即多个war工程共享一个session分布式缓存,因为redis为键值对存储,提供了丰富的adapter可以支持C、.net、java客户端,因此平
千家信息网最后更新 2026年10月31日nosql之redis简单安装与使用

redis基础应用场景:

web间session共享,即多个war工程共享一个session

分布式缓存,因为redis为键值对存储,提供了丰富的adapter可以支持C、.net、java客户端,因此平台间进行数据交换起到了作用

因此它可以用作大型系统的分布式缓存,并且其setnx的锁常用于秒杀,抢红包这种电商活动场景中

下载:redis:http://download.redis.io/releases/

redis编译安装

tar xf redis-3.0.7.tar.gz

cd redis-3.0.7

make

make PREFIX=/usr/local/redis install

mkdir -p /usr/local/redis/{data,etc,var}

修改配置文件:

daemonize yes:以后台daemon方式运行

logfile /usr/local/redis/var/redis.log:将日志放在刚刚创建的var目录下

dir "/usr/local/redis/data":数据目录存放的位置

save 900 1

#save 300 10

#save 60 10000

#redis以每900秒写一次、300秒写10次,60秒内写1万次这样的策略把缓存放入一个叫.rdb的磁盘文件中

#如果按照默认的话,此三个策略会轮流起效,在大并发环境中,

#这样的写策略将会对我们的性能造成巨大的影响,因此我们这边只保留900秒写1次这条策略

appendonly no:关闭了Redis的AOF功能。


vim /etc/profile.d/redis.sh

export PATH=$PATH:/usr/locl/redis/bin

. /etc/profile.d/redis.sh


将redis.conf cp到/usr/local/redis/etc目录下

启动redis服务

redis-server /usr/local/redis/etc/redis.conf


登录客户端:

redis-cli命令

redis-cli -p port -h ip

redis-cli -p 6379 -h 127.0.0.1


关闭redis服务命令:

redis-cli shutdown(-p 也可以指定端口)


观察日志发现错误如下:

WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1'

to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

1、echo 511 > /proc/sys/net/core/somaxconn

或者sysctl -w /proc/sys/net/core/somaxconn=511

2、echo 1 > /proc/sys/vm.overcommit_memory

sysctl -p


overcommit_memory参数说明:http://skly-java.iteye.com/blog/2167400

可选值:0、1、2。

0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2, 表示内核允许分配超过所有物理内存和交换空间总和的内存


note:注意:redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用 的内存为8G,

这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。

所以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)。


内存 策略 分配 内核 进程 数据 物理 目录 缓存 服务 分布式 命令 场景 客户 客户端 文件 日志 时候 状态 错误 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 互联网科技公司简介 广州紫鲸互联网科技有限公司 科技互联网政务服务 腾讯阿里互联网科技 互联网科技与金融科技 老年人脱离互联网科技的作文 恒银科技与互联网金融 互联网科技中介 中国互联网有什么科技含量 徐州市互联网科技有限公司 山东有哪些互联网科技公司 黑科技 体验场景 互联网大会 互联网公司高科技产品 互联网营销推广黑科技 互联网风格科技公司名称 宁波跨境商互联网科技有限公司 艺电能源互联网科技有限公司招聘 互联网时代高科技布局 山东蛋芒互联网科技有限公司 互联网佳科技有限公司 互联网科技工作委员会主任 苏州找大状互联网科技有限公司 互联网科技工作委员会副主任毛军 阿里巴巴算科技企业还是互联网 互联网软件和科技 想开互联网科技公司怎么样 企晟互联网信息科技有限公司 杭州融税互联网科技有限公司 重庆科技产业互联网有哪些
0