Redis、Memcached学习笔记

Redis是一个开源的使用C语言编写、开源、支持网络、可基于内存亦可持久化的日志型、高性能的Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String)、哈希(Map)、 列表(list)、集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Linux源码安装:

1、安装

cd /usr/local/src/lamp &&
tar -zxvf redis-3.2.1.tar.gz &&
cd /usr/local/src/lamp/redis-3.2.1 &&
mkdir -p /usr/local/redis &&
make PREFIX=/usr/local/redis install

2、
在安装redis成功后,你将可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件:
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。或者通过telnet进行纯文本协议操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

3、将redis做成一个服务
必须将其复制到/etc/rc.d/init.d的目录下,将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis:

cp /usr/local/src/lamp/redis-3.2.1/utils/redis_init_script  /etc/rc.d/init.d/redis

#如果这时添加注册服务:

chkconfig --add redis

#将报以下错误:
redis服务不支持chkconfig
#为此,我们需要更改redis脚本。

vim /etc/rc.d/init.d/redis
#!/bin/sh
#chkconfig: 2345 80 90 #添加这一行
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli

4、将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf

mkdir /etc/redis &&
cp /usr/local/src/lamp/redis-3.2.1/redis.conf /etc/redis/6379.conf &&
cp /usr/local/src/lamp/redis-3.2.1/redis.conf /etc/redis.conf &&
cp /usr/local/src/lamp/redis-3.2.1/redis.conf /usr/local/redis/bin/redis.conf

5、redis配置密码,尤为重要
去掉行前的注释,并修改密码为所需的密码,保存文件:

vim /etc/redis.conf
#requirepass foobared
requirepass mypasswd

6、注册redis服务:

chkconfig --add redis &&
chkconfig redis on

将Redis的命令所在目录添加到系统参数PATH中

vim /etc/profile

在最后行追加:

export PATH="$PATH:/usr/local/redis/bin"

然后马上应用这个文件:

./etc/profile
或者
source /etc/profile

这样就可以直接调用redis-cli的命令了,如下所示:

/usr/local/redis/bin/redis-cli

出现:Could not connect to Redis at 127.0.0.1:6379: Connection refused
解决方法:

vim /etc/redis.conf打开文件找到daemonize no 为 daemonize yes这样就可以默认启动就后台运行

重启服务:

ps -aux | grep redis
kill redis 进程
/usr/local/redis/bin/redis-server /etc/redis.conf    &
/usr/local/redis/bin/redis-cli
redis 127.0.0.1:6379> auth mypasswd
OK
redis 127.0.0.1:6379>set name gps

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等待系统自己同步)
slaveof :主从配置,在redis-slave上配置master的ip port,即可

 

参考资料


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值