redis 学习日记
in Linux with 0 comment

redis 学习日记

in Linux with 0 comment

简介

redis 是什么

Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性(英语:Durability_(database_systems))的键值对存储数据库(英语:Key-value database)。从2015年6月开始,Redis的开发由Redis Labs(英语:Redis Labs)赞助,而2013年5月至2015年6月期间,其开发由Pivotal赞助。在2013年5月之前,其开发由VMware赞助。根据月度排行网站DB-Engines.com的数据显示,Redis是最流行的键值对存储数据库。

和 Memcache 的区别

① 由于 redis 只能使用单核,所以在存储小数据时, redis 的性能要高于 memcached.而临床表明100K以上的数据,memcached 的性能就要优于 redis.

② 如果仅选择简单的 key-value 存储,那么 memcached 的内存利用率要高于 redis.但是如果 redis 选择 hash 结构来存储 key-value,再加上采样数据压缩,它的内存利用率也是要高于 memcached.

redis 的优点

1: 异常的快 Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作.

2: 数据类型丰富 Redis支持开发人员常用的大多数数据类型,例如字符串,列表,集合,有序集合,哈希,位图,等,数据类型多,那么能够应用的场景就广.大家都知道特定的问题,用特定的数据类型来解决更适宜.

3: 原子性 所有对 Redis 的操作都是原子性的,所以当多个客户端并发地访问一个 Redis 服务器时,可以获得相同的更新值.同时 Redis 还支持多个操作合并执行的原子性.(支持事务)

4: 数据持久化 (这一点 memcached 不具备),redis 能够将内存中的数据导出备份到磁盘中.

5: 数据同步 (这一点也是 memcached 的软肋, memcached 可以借助客户端来实现数据同步.)

Redis 命令在线练习工具

http://try.redis.io/

安装

步骤

下载

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

解压

tar zxvf redis-3.2.8.tar.gz
cd redis-3.2.8

编译安装

make PREFIX=/usr/local/redis install

创建配置文件

cp ./redis.conf /usr/local/redis

常见问题

1: 时间错误 我们的 redis 源码包,已经被官方 configure 过,所以生成的文件都有时间信息,如果你的机器时间比 configure 生成的文件时间早,你执行 make 就会报错. 解决办法: 修改时间,然后写入cmos

date -s 'yyyy-mm-dd hh:mm:ss'
clock -w

2: 安装路径参数 我们在设置安装路径时, PREFIX 要大写.

启动与连接

启动

cd /usr/local/redis
./bin/redis-server ./redis.conf

默认端口: 6379

连接

1、用 redis-cli 客户端连接

/usr/local/redis/bin/redis-cli [-h 127.0.0.1 -p 6379]

2、用 telnet 客户端连接

telnet 127.0.0.1 6379

后台运行

编辑 /usr/local/redis/redis.conf 创建配置文件,大约在128行

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
# daemonize 是守护进程的意思
daemonize yes

no 改为 yes

其他

默认端口为啥是6379

作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利
歌女Alessia Merz的名字.

Responses
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif