初探Redis内存数据库及问题解决

2018-09-17  本文已影响0人  SkylerSkr

万分感谢大家看我的博客!我们直接进正题!

为什么使用Redis缓存数据库

我们日常的开发,无非是对数据的处理。程序的定义也可以这样狭义的解释:算法+数据。可见数据库是多么重要的工具。但是关系型数据库的读写能力在200-1000次/秒不等,服务器好点可能更多,这导致在高并发的情况下,我们需要访问的数据可能会被锁住,使得响应速度变得异常的慢,体验很差。同时,如果数据很多,我们在做一些比较重的筛选查询时,可能会非常的慢。

什么是Redis

上述的问题,无非是因为磁盘的读写过低,那么有没有办法将将数据库放进内存呐。所以就有了Redis,Redis是一款nosql的数据库,也是一种键值对数据库。相比传统的关系型数据库,跑在内存里的Redis,无疑是非常快速的,读写数据也达到了30万次/秒,这无非是巨大的提升。同时Redis提供了持久化的支持,数据会同时写进磁盘,使得Redis可以完全代替关系型数据库。

官方定义:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

PS:受内存价格的影响,大多将Redis和关系型数据库配合使用,利用Redis的高速读写来做一些缓存和计算。

Redis安装部署(绝对详细)

首先是准备工作

yum update -y

yum -y install wget

cd /usr/local    //小编一般都是放在这里,大家可以根据自己喜好更改,但是注意下面的命令行里也要更改

1.初步安装

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

tar -zxvf redis-4.0.6.tar.gz

yum install gcc

cd redis-4.0.6

make MALLOC=libc

将/usr/local/redis-4.0.6/src目录下的文件加到/usr/local/bin目录

cp -r /usr/local/redis-4.0.6/src/. /usr/local/bin

cd src && make install

测试:

cd src 这里看一下自己的目录 有可能不需要这一行

./redis-server    //出现下面的图就是运行成功了

然后就初步安装好了,但是这样是需要一直开着这个窗口的,下面是如何设置后台运行和自启动。

然后设置的时候很难受,Redis这个文件放的位置奇怪的一笔!

自启动设置

cd /usr/local/redis-4.0.6        //先进这个路径下

vi redis.conf        //修改配置文件

把daemonize no改成daemonize yes

把bind 127.0.0.1改成bind 0.0.0.0

然后复制到下面的src文件夹里

cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis-4.0.6/src/redis.conf

PS:因为后面的配置里,这两个都要用真的是难受的很

cd /usr/local/redis-4.0.6/src

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

首先使用ps -aux | grep redis查看redis进程

ps -aux | grep redis

杀掉这个进程
kill -9 18714

然后设置成自启动

cd /etc

mkdir redis

cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf

cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd

cd /etc/init.d

chkconfig redisd on    //这行可能会报错(service redisd does not support chkconfig)

解决方案:

vi redisd    //在开始地方加上下面两行

# chkconfig:  2345 90 10

# description:  Redis is a persistent key-value database

chkconfig redisd on    //再次运行

现在可以直接已服务的形式启动和关闭redis了

service redisd start //如果启动不了 试试这个redis-server /etc/redis/6379.conf

service redisd stop

使用方式(测试):

redis-cli    //然后在下面输入命令

set count 1    //创建名为count的键值对,值为1

get count    //获取值

当然这自是字符串,Redis支持很多数据类型,我们在软件架构里,也会有各种各样的客户端连接Redis。

Redis的安装就到这了,明后天,小编会像RabbtMQ一样写一些简单的封装,便于后续使用。祝大家好梦,晚安。

参考链接:

https://www.cnblogs.com/zuidongfeng/p/8032505.html

https://blog.csdn.net/wangh92/article/details/74974074

https://blog.csdn.net/luozhonghua2014/article/details/54649295

安装5.0.0版本Redis:

https://blog.csdn.net/nathanniubee/article/details/83274960

上一篇 下一篇

猜你喜欢

热点阅读