官方对Redis的阐述:
Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.
Redis是一个开源的,BSD许可的,高级的“键-值”缓存与存储。它经常被称为是一个数据结构服务器,因为键可以字符串、哈希表、列表、集合、有序集合、位图和hyperloglogs。
“Introduction to Redis”概要地介绍了Redis的关键特性和功能:
- atomic operations (所有命令都是原子操作)
- in-memory dataset (所有数据都放在内存中)
- 具有有限存活时间的键
- LRU缓存
- 持久化(RDB-内存快照|镜像、AOF-追加每个命令到日志)
- 主从异步复制
- Sentinel-自动故障转移
- 事务
- 发布/订阅
- Lua脚本
- 推荐使用Linux系统部署
和常见命令的使用场景:
- 增加哈希表中的值(某物不同维度的计数器或属性)
- 压入一个元素到一个列表(消息列表、队列)
- 从有序集合中获取排名最高的成员(TOP N、热点实时新闻、热点搜索)
[参考]
【动手实践】
实践目标:探索高可靠和可扩展的分布式Redis缓存方案
在实践过程中有不懂的地方,都会去看看 Documentation 有没我想要的东东~
从Redis源代码编译和安装的步骤,如下:
1. 从Download下载最新的稳定版并解压
$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
$ tar -xzf redis-2.8.17.tar.gz
2. 在解压文件之后,请务必先仔细阅读发布文件(redis-2.8.17)下的 INSTALL 和 README (里面有一些很重要的信息等待你去了解,能为你日后节省不少时间哦!你懂~ ^_^)
3. 按照 README 里的步骤说明来构建Redis、运行Redis、玩转Redis、安装Redis
3.1 构建Redis(务必在服务器上运行测试,确保所有命令都是可用的)
$ cd redis-2.8.17
$ make
$ make test
构建时,我遇到提示"缺少C++编译器"的错误,并会提示可用的安装包("sudo apt-get install g++")。
3.2 运行Redis服务器
$ src/redis-server
3.3 玩转Redis客户端
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
3.4 安装Redis服务
$ sudo make install
4. 若使用 utils/install_server.sh 来生成初始化脚本、配置文件、安装并启动服务的话,可以大大地节省配置的时间。但在使用之前,请先浏览一下其实现,它会使用 redis.conf 作为模板配置文件 (注意:服务已作为系统的一部分,会在系统重启时自动启动!)。所以,若有些配置不满足你的需求,得先修改。
$ sudo sh install_server.sh
5. 在修改默认的配置属性之前,请浏览 redis.conf。若要修改默认的一些配置属性,可以参考 Redis configuration,更详细的信息就参考 Documentation 的 Administration 主题内容
6. “Redis as an LRU cache”,Redis作为一个LRU缓存的配置参考 (内容很有价值!)
# 同步修改"ulimit -n"的值
maxclients 65536
maxmemory 128MB
maxmemory-policy allkeys-lru
maxmemory-samples 10
# 注释掉 RDB 的所有触发规则
#save 900 1
#save 300 10
#save 60 10000
7. “Master-Slave”主从架构的配置修改,请参考 @江南白衣 整理的关于Redis方面最全面的 Redis springside4 的 “附录1: 对redis.conf默认配置的修改”
daemonize yes
8. 当 redis.conf 中的相关属性都修改完成后,就可以执行 utils/install_server.sh 脚本了
9. 使用“sudo netstat -anp | grep redis”来确认所有Redis服务是否都已启动成功
至此,所有Redis服务都启动完毕。
玩的开心!^_^ |