nosql 数据库 redis 安装与使用

使用的redis主机为linux系统。

1.在linux服务器上创建redis用户

用root用户登录linux系统,创建redis用户(并设置用户的主目录为/home/redis)。

 

useradd -d /home/redis redis

 

设置密码

 

passwd redis

用户创建成功后,切换到redis用户下。

 

su - redis

 

2.下载redis 最新安装包并执行安装

 

 wget http://redis.googlecode.com/files/redis-2.6.11.tar.gz

 

解压缩安装包

 

tar xzf redis-2.6.11.tar.gz

进入解压缩后的目录

 

cd redis-2.6.11

 执行安装操作

 

 

make

 安装完成。

 

3.配置redis服务. 

(1).root用户下的配置.

  切换回root用户

 

su root

   编辑

 

vi /etc/sysctl.conf

   加一行 (调整系统内核参数,如果内存情况比较紧张的话,需要设定内核参数)

   该文件指定了内核针对内存分配的策略,其值可以是0、1、2。

  0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否  则,内存申请失败,并把错误返回给应用进程。
  1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
  2,表示内核允许分配超过所有物理内存和交换空间总和的内存
vm.overcommit_memory = 1

   Redis在dump数据的时候,会fork出一个子进程,理论上 child进程所占用的内存和parent是一样的,比如parent占用的内存为8G,这个时候也要同样分配8G的内存给child, 如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何).

 

   保存并退出编辑

 

   再执行以下命令,让修改结果立即生效:

 

/sbin/sysctl -p

 (2)redis用户下配置

 

再切换回redis用户,并创建一系列目录

 

su - redis
mkdir redis
cd redis 
mkdir cfg  //放配置文件
mkdir db  //db 
mkdir log //日志目录

 复制安装目录下的配置文件,到当前创建的文件夹下

 

cp /home/redis-2.6.11/redis.conf  /home/redis/cfg

 编辑配置文件

 

cd /home/redis/cfg
vi redis.conf

 

#是否作为守护进程运行

修改配置daemonize no修改为 daemonize yes

 

pidfile /var/run/redis.pid 修改为 pidfile /var/run/242_redis.pid  //以ip地址最后一位加redis命名。可任意修改

 #绑定主机IP,默认值为127.0.0.1

 

port  10110  //修改一个当前系统未使用的端口 (redis 服务监听端口)

#日志记录等级,有4个可选值,debug,verbose(默认值),notice,warning

loglevel verbose //日志级别verbose为本人用

#指定日志输出的文件名,默认值为stdout,也可设为/dev/null屏蔽日志

logfile  /home/redis/redis/log/redis.log //redis日志文件存放地址

 

#可用数据库数,默认值为16,默认数据库为0

database 16

 

#当dump .rdb数据库的时候是否压缩数据对象

rdbcompression yes

 

dbfilename dump.rdb //redis数据库 db 名字(本地数据库文件名)

dir /home/redis/db //redis数据库 db 的路径

 

#保存数据到disk的策略
#当有一条Keys数据被改变是,900秒刷新到disk一次

save 900 1

 

#当有10条Keys数据被改变时,300秒刷新到disk一次

save 300 10

 

#当有1w条keys数据被改变时,60秒刷新到disk一次

save 60 10000

 

#客户端闲置多少秒后,断开连接,默认为300(秒)

timeout 300

 

 ###########  Replication #####################

#Redis的复制配置

# slaveof <masterip> <masterport> 当本机为从服务时,设置主服务的IP及端口

# masterauth <master-password> 当本机为从服务时,设置主服务的连接密码

 

#连接密码

# requirepass foobared

 

#最大客户端连接数,默认不限制

# maxclients 128

#最大内存使用设置,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。

# maxmemory <bytes>

 

#是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no

appendonly no

#更新日志文件名,默认值为appendonly.aof

#appendfilename

#更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。

# appendfsync always

appendfsync everysec

# appendfsync no

 

################ VIRTUAL MEMORY ###########

#是否开启VM功能,默认值为no

vm-enabled no

# vm-enabled yes

#虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享

vm-swap-file logs/redis.swap

# 将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的 (Redis的索引数据就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0。

vm-max-memory 0

vm-page-size 32

vm-pages 134217728

vm-max-threads 4

 

############# ADVANCED CONFIG ###############

glueoutputbuf yes

hash-max-zipmap-entries 64

hash-max-zipmap-value 512

#是否重置Hash表

activerehashing yes

 

注意:Redis官方文档对VM的使用提出了一些建议:

** 当你的key很小而value很大时,使用VM的效果会比较好.因为这样节约的内存比较大.

** 当你的key不小时,可以考虑使用一些非常方法将很大的key变成很大的value,比如你可以考虑将key,value组合成一个新的value.

** 最好使用linux ext3 等对稀疏文件支持比较好的文件系统保存你的swap文件.

** vm-max-threads这个参数,可以设置访问swap文件的线程数,设置最好不要超过机器的核数.如果设置为0,那么所有对swap文件的操作都是串行的.可能会造成比较长时间的延迟,但是对数据完整性有很好的保证.

 

编写几个脚本文件,方便启动、停止redis服务

 

4.运行redis

 

  (1).启动redis服务脚本

 

cd /home/redis/redis

vi start.sh
/home/redis/redis-2.6.11/src/redis-server /home/redis/redis/cfg/redis.conf

  保存退出

 

 (2).停止服务脚本

 

vi shutdonw.sh 
/home/redis/redis-2.6.11/src/redis-cli -p  10110 shutdown

   保存退出

  (3).保存/备份

  数据备份可以通过定期备份该文件实现。
因为redis是异步写入磁盘的,如果要让内存中的数据马上写入硬盘可以执行如下命令

vi save.sh
redis-cli -p 10110 save

 注意,以上部署操作需要具备一定的权限,比如复制和设定内核参数等。

执行redis-benchmark命令时也会将内存数据写入硬盘。

(4).打开redis数据库脚本

 

vi open.sh 
/home/redis/redis-2.6.11/src/redis-cli -p 10110

 保存退出

  (5).redis同步机制

   redis实现的同步机制相对简单,缺少同步机制常见的check point和校验机制。
   在运行时,如果master -> slave同步请求转发被丢弃, slave将无法恢复该请求的相关信息,直到slave重启时从master全量加载数据时才能修复。因此,建议使用redis尽量利用其 key/value和value支持多种类型的特性,存储一些相对不重要的数据。

 

为脚本赋权限 

chmod 775 *.sh

 到此为止,配置已完成。

启动redis服务

./start.sh

 

打开redis数据库,测试一下。

./open.sh

设置一个键值对

set mkeys testredis

获取

get mykeys

输出

testredis

 

查看redis日志

tail -f ../log/redis.log

 

 

-------------------------------到此为止redis服务安装配置已完成

 

使用java来操作redis数据库

首先要下载一个jar包。jedis-2.1.0.jar(应该是最新的jar包) //附件中已经上传安装包和jar包。

 

将jedis-2.1.0.jar包放入工程中。

现在用java测试一把。

 

public static void main(String[] args) {
		Jedis jedis = new Jedis("192.168.1.242",10110);
		//保存一个list到redis数据库
		jedis.lpush("mylist", "redis1");
		jedis.lpush("mylist", "redis2");
		jedis.lpush("mylist", "redis3");
		jedis.lpush("mylist", "redis4");
		jedis.lpush("mylist", "redis5");
		//取出来刚才保存到redis的list 0,-1 表示起始位置 下表从0开始,取到-1表示所有 也可以写0,4只去前五个
		System.out.println(jedis.lrange("mylist", 0, -1));
		//删除redis中的list
		jedis.del("mylist");
		//保存一个键值对到redis
		jedis.set("mykey", "test");
		//取出保存的键值对
		System.out.println(jedis.get("mykey"));
	}

 

 

 

 

 

 

 

 

PPPoE上网配置不求人:华为路由器命令行操作指南(2023最新版) 本文提供2023年最新的华为路由器PPPoE上网配置命令行操作指南。通过详细的步骤讲解,从连接设备、创建拨号接口、绑定PPPoE客户端到配置内网与NAT,手把手教你完成配置,并附有验证排错方法,助你轻松实现稳定上网。 阅读详情

相关推荐

AI Agent生产环境压测指南:并发、延迟与资源瓶颈定位

去年我接触了不下10个AI Agent上线翻车的案例:有做智能客服的公司双11当天流量暴涨3倍,Agent服务直接雪崩,用户咨询全超时,损失超200万订单;有做企业内部RAG Agent的团队,上线后100人同时查询就把向量库打挂,还连累了其他业务的数据库;还有做多智能体系统的团队,压测只测了单请求性能,上线后多Agent交互超时率高达30%。

软件工程实践的博客 170

典型NoSQL数据库的安装和使用——Redis安装和使用

NoSQL数据库是一大类非关系型数据库的统称,较好地满足了大数据时代不同类型数据的存储需求。NoSQL数据库主要包括键值数据库、列族数据库、文档数据库和图形数据库4种类型,不同产品都有各自的应用场合。Redis是一个键值存储系统,对关系数据库是一个补充,目前在互联网公司应用广泛。#下载redishadoop@dblab:/usr/local$ sudo wget ht...

weixin_34292402的博客 762

Js逆向抖音a_bogus --/* V 1.0.1.19-fix.01 */补环境

需要在addEventListener中补一个鼠标移动事件,不补这个环境,生成的值是假值,你拿去请求,响应200,但是没有数据,这个算是dy的最难发现的一个难点。dy这个,没有原形链检测,我只是习惯了这样补,对XMLHttpRequest进行重写,导出a_bogus.发现可以响应状态码200,而且可以获取数据,接着注释params中的a_bogus。在n.apply的下面插入上述代码,对a_bogus进行全局导出。如果没有,就多放几次断点,因为每个人的游览器不一样。必须触发至少一次鼠标事件,不触发不给过。

2302_76420666的博客 4201

Redis学习(1)NoSQL非关系型数据库、Redis概述、Linux安装Redis

一、NOSQL(Not Only SQL) NoSQL 泛指非关系型数据库,在当今的互联网高并发形势下,传统的关系型数据库已经满足不了对大数据的需求,所以在这个形式下NOSQL诞生了。 NOSQL数据库的特点: 数据模型简单 数据存储:键值对存储、列存储、文档存储、图形存储(社交关系图) 要求实现最终一致性 高性能、高可用、高可扩 二、Redis 1、Redis概述 (Remote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-val

zhupup 232

配置思科交换机冗余链路汇聚

本文对交换机端口汇聚配置进行说明

istrangeboy&begin zero的博客 6684

DETRs with Collaborative Hybrid Assignments Training论文阅读与代码

在这篇论文中,作者观察到在DETR中将过少的 Query 分配为正样本,采用一对一的集合匹配,会导致对编码器输出的监督稀疏,严重损害编码器的区分特征学习,反之亦然,也会影响解码器中的注意力学习。为了缓解这个问题,作者提出了一种新颖的协同混合分配训练方案,名为Co-DETR,以从多样的标签分配方式中学习更高效、更有效的基于DETR的检测器。这种新的训练方案可以通过训练多个并行辅助 Head ,以一对多的标签分配方式(如ATSS和Faster RCNN)进行监督,轻松增强端到端检测器中编码器的学习能力。

qingjing0413的博客 1153

非关系型数据库(NoSQL)——Redis安装及部署详解

在现在的互联网大潮中,NoSQL可谓是家喻户晓,Redis作为NoSQL中及其重要的一员,使我们走向架构道路的一条必经之路。作为运维工程师来说,是必须要掌握的! 既然提到了Redis数据库是非关系型数据,并且需要掌握Redis数据库。那么关于关系型数据库与非关系型数据库的基本概念是必须要了解的。 一、关系型数据库与非关系型数据库的基本概念: 数据库按照其结构可以分为关系型数据库与其他数据库,...

小健健的博客 743

英伟达DeepStream学习笔记7——DeepStream接入USB相机并实现广角摄像头的畸变矫正

deepstream官方提供了一个畸变矫正的例子,包含了鱼眼和普通广角的矫正。我目前准备做一个广角的畸变矫正,我已经使用opencv实现功能,目前增加到deepstream框架中。示例代码在\opt\nvidia\deepstream\deepstream-5.0\sources\apps\sample_apps\deepstream-dewarper-test 中,鱼眼矫正——deepstream官方版 https://developer.nvidia.com/blog/calibration-trans

耶律大石的博客 1601

NoSQL之Redis配置与优化(非关系型数据库)——安装Redis数据库

这里写目录标题一、关系数据库与非关系型数据库二、Redis简介三、Redis安装部署 一、关系数据库与非关系型数据库 ■ 关系型数据库 一个结构化的数据库,创建在关系模型基础上 一般面向于记录 包括: Oracle、MySQL、SQL Server、Microsoft Access、DB2等 ■ 非关系型数据库 除了主流的关系型数据库外的数据库,都认为是非关系型 包括: Redis、MongBD、Hbase、CouhDB等 ■ 非关系型数据库产生背景 High performance——对数据库高

优快云著名博主 410

得物(毒)App潮鞋价格波动监控系统实战:从爬虫开发到数据可视化完整指南

本文将带领您从零开始构建一套完整的得物潮鞋价格监控系统,涵盖爬虫开发、数据存储、价格波动分析和可视化展示等全流程技术。我们将使用最新的Python技术栈,包括异步爬虫框架、智能代理池、反爬虫绕过技巧,以及基于机器学习的时间序列预测模型。无论您是想要追踪特定鞋款价格的潮流爱好者,还是希望构建商业级监控系统的开发者,这篇文章都将为您提供切实可行的解决方案。

2201_76125261的博客 2504

AMBA-AXI and ACE协议详解(十)

本章介绍了ACE协议中的Barrier事务机制,包括内存屏障和同步屏障两种类型。

Crazzy_M的博客 612

NoSql非关系型数据库,安装Redis,搭建LNMP+Redis

NoSql非关系型数据库,安装Redis,搭建LNMP+Redis 一、关系型数据库与非关系型数据库 1.关系型数据库 RDBMS RDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统,而管理关系数据库的计算机软件就是关系数据库管理系统,常用的数据库软件有Oracle、SQL Server等 关系型数据库安装默认定义的组织结构,将数据存储到物理介质上.如我们熟知的建库建表操作,就是为了创建这种组织结构 数据之间可以做关

qq_36576404的博客 231

银行监管报送系统系列介绍(二十一):银行监管报送系统总览

为保护法院案件当事人、利害关系人的合法权益,全面落实《最高人民法院、中国银行业监督管理委员会关于人民法院与银行业金融机构开展网络执行查控和联合信用惩戒工作的意见》(法【2014】266号),最高人民法院和银监会联合下发了《人民法院、银行业金融机构网络执行查控工作规范》(法【2015】321号),要求银行金融机构配合最高人民法院开展 “总对总”网络执行查控工作,并建立相应的业务系统,实现与法院的网络对接,协助法院完成对被执行人银行账户存款及其他金融资金的网络查询、冻结与扣划工作。

银行信息系统应用架构详解 2863

Redis非关系型数据库的了解和安装

NoSQL非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储系统,主要代表MongoDB(介于关系和非关系之间),Redis、CouchDB。NoSQL提出了另一种理念,以键值来存储,且结构不稳定,每一个元组都可以有不一样的字段,这种就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,为了获取用户的不同信息,不需要像关系型数据库中,需要进行多表查询。仅仅需要根据key来取出对应的value值即可。

2301_78418531的博客 151

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NoSQL(非关系型数据库)之Redis的简介与安装

(1)关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2、PostgreSQL 等。以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败。

fantuan_sss的博客 1328

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

非关系型数据库Redis的安装

1.丰富的数据结构 -----String,list,set,hash等数据结构的存储2.支持持久化3.支持事务 ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。4.支持主从。

冲冲冲 1274

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

非关系型数据库之Redis【redis安装】

NoSql?为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。NoSql,叫非关系型数据库,它的全名。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。NoSqlredisRedis是使用c语言开发的一个高性能键值数据库。Redis可以通过一些键值类型来存储数据。String字符类型map散列类型list列表类型(有序、可重复)set集合类型(无序,不可重复)sortedset有序集合类型。...

捌椒的博客 599

redis非关系型数据库【重要】+如何安装redis

redis非关系型数据库【重要】+如何安装redis

yhl15736773842的博客 151

非关系型数据库redis的安装

目录 1. 什么是NOSQL? 2. NOSQL和RDBMS的区别 3. NOSQL的产品? 4. 什么是Redis? 5. 为什么使用redis? 6. 如何安装redis. 1 什么是NOSQL? NOSQL(not only sql)不仅仅是sql,对所有非关系型数据库的一种通称。 2 NOSQL和RDBMS的区别 RDBMS - 高度组织化结构化数据。 user---userid username age sex ..... - 结构化查询语言(SQL) sql语句 - 数据和关系都存储在

qq_60229891的博客 561

【Redis】万字整理 Redis 非关系型数据库的安装与操作

Redis 非关系型数据库的简介与安装、常用命令 操作字符串、操作列表、操作集合、操作有序集合 StringRedisTemplate 以及 Redis 工具类

m0_66584716的博客 1660

Redis 非关系型数据库的安装和使用

redis 数据库的介绍和其安装使用

m0_53312145的博客 260

Redis - 【NoSQL数据库简介、Redis概述安装】

Redis - 【NoSQL数据库简介、Redis概述安装】

weixin_43642577的博客 478

【非关系型数据库】Redis概述及安装、命令使用

关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给Web2.0的数据库发展带来新的思路。让关系型数据库关注在关系上和对数据的一致性保障,非关系型数据库关注在存储和高效率上。例如,在读写分离的MySQL数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。关系型数据库:实例-->数据库-->表(table)-->记录行(row)、数据字段(column)非关系型数据库:实例-->数据库-->集合(collection)-->键值对(key-value)

weixin_72625764的博客 1820

01-NoSql数据库与redis安装

一、技术的发展 不同的技术解决不同的实际问题 nosql数据库能解决什么? 1.Ngix分发给不同的服务器之间数据传输问题 2.解决CPU以及内存压力 NoSQL = 非关系型数据库,以键值对方式存储 适用场景 1.海量数据读写 2.高并发的读写 3.对数据高可扩展性 不适用场景 1.需要事务 2.需要sql结构化查询 大数据时代数据库 Redis ** 应用场景 ** 配合关系型数据库作高速缓存 如: 高频次、热门访问的数据,降低数据库IO 分布式架构,作session共享 安装Redis 只

ZUCK的博客 200

Linux 下安装nosql¬-redis数据库安装

Nosql的使用在说明情况下: 1,        对数据的高并发读写 2,        对海量数据的高效率存储和访问 3,        对数据的高可扩展性和高可用性 在Linux安装nosql redis: //用wget命令得到安装redis安装包 [root@localhostlocal]# wget http://download.redis.io/releases/r

u010463619的专栏 659

【Redis】Redis 非关系型数据库 安装、配置、使用(全集)

redis是一种非关系型数据库,它用于存储数据提供给程序使用(c语言编写)​非关系型数据(NoSql)它的特点:它没有数据表的概念了,它存放的数据是存放在内存中的典型的非关系型数据库,主要有:redis,mongodb redis它是采用键、值对的方式,将数据存放在内存中​关系型数据库: sqlserver,mysql,oracle这些都是关系型数据库它们的特点:数据是以数据表的形式进行存储,数据是存放在数据库系统中非关系型数据库从内存中加载数据,速度会更快​。

m0_74187147的博客 1739
上一篇: 多台服务器共享一个数据库(oracle数据库),防止同时访问一批数据
下一篇: linux 系统 常用命令
mapengwei
博客等级 码龄17年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值