linux专题精讲|key-value数据库的部署和使用

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:   《ChinaUnix》http://woaimaidong.blog.chinaunix.net      Redis是一种高级key-value数据库,互联网领域的地位很牛掰。它跟memcached类似,不过数据可以持久 化,而且支持的数据类型很丰富。
  《ChinaUnix》 http://woaimaidong.blog.chinaunix.net

     Redis是一种高级key-value数据库,互联网领域的地位很牛掰。它跟memcached类似,不过数据可以持久
化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交
和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器,这样说来
就更加牛掰了。

    Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);
也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

    听起来是够牛的,但是我们怎么使用呢,怎么安装部署?怎么通过扩展访问呢?别急,接下来我们会分段
讲解,你可要认真听啊!

第一部分:redis的安装部署
1.1 安装
          cd /home/bdkyr/tools
          wget redis-2.8.14.tar.gz  #地址我这里就不写了,避免博文被屏蔽,自己上网搜一下。
          tar xzf redis-2.8.14.tar.gz
          cd redis-2.8.14
          make
          make install
          cp redis.conf /etc/
1.2 修改系统配置
    echo vm.overcommit_memory=1 >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory
说明:
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2,表示内核允许分配超过所有物理内存和交换空间总和的内存

1.3 修改redis配置文件
vim /etc/redis.conf
#修改
daemonize yes  #目的使进程在后台运行

redis.conf配置文件讲解:

daemonize:  是否以后台daemon方式运行
pidfile:    pid文件位置
port:       监听的端口号
timeout:    请求超时时间
loglevel:   log信息级别
logfile:    log文件位置
databases:  开启数据库的数量
save * *:   保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:    数据快照文件名(只是文件名,不包括目录)
dir:           数据快照的保存目录(这个是目录)
appendonly:    是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog  如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

1.4 启动redis
    redis-server /etc/redis.conf

   #检查是否启动成功
    ps -ef | grep redis

第二部分:php访问redis
    我的测试环境为nginx-1.2.3.tar.gz+php-5.3.17+phpredis-2.2.4.tar.gz
2.1 phpredis扩展的安装
     tar zxvf phpredis-2.2.4.tar.gz
     cd phpredis-2.2.4
     /usr/local/php-5.3.17/bin/phpize
     ./configure --with-php-config=/usr/local/php-5.3.17/bin/php-config
     make
     make install

2.2 加载redis.so
    #在php.ini 文件中,添加配置:
    vim /usr/local/php-5.3.17/etc/php.ini  #添加到文件最后面的位置
    [redis]  
    extension=redis.so  
2.3 重新启动php-fpm
    killall php-fpm && /usr/local/php-5.3.17/sbin/php-fpm
2.4 编写redis_test.php 文件,进行访问测试
<?php
    $redis = new Redis();
    $redis->connect('127.0.0.1');
    $redis->set('key', 'hello');
    $redis->append('key', 'world');
    echo $redis->get('key');
    echo $redis->type('key');
    echo $redis->echo('will close...');
    echo "1111111111111111";
    $redis->close();
?>

访问截图如下:


好了,整个过程到此结束,你学会怎么用了吗?如果还是没有学会,可以联系我---系统技术开源人---或者给我留言。
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
9天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
5天前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
34 8
|
9天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
47 8
|
24天前
|
SQL 弹性计算 安全
在云上轻松部署达梦数据库
达梦数据库(DM Database)是达梦数据库有限公司开发的关系型数据库管理系统,广泛应用于政府、金融、能源等行业。它具备高性能、高安全、兼容性强、易管理等特点,支持多种操作系统,适用于关键业务系统、政务系统及大数据处理等场景。在阿里云上,可通过一键部署快速使用达梦数据库DM8。
|
29天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
165 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
135 3
|
2月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
58 3