是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。 专注于key-value查询的redis、memcached、ttserver 解决以下问题:
1)key-value键值存储数据库(redis、memcached)
2)列存储数据库(HBase)
3)面向文件的数据库(mongoDB)
4)图形数据库(Graph)
1)memcached 是一个开源高性能的,具有分布式内存对象的缓存系统 特点:
官方网站:http:// 2)memcacheDB 是新浪基于memcached开发的一个开源项目,具备了事务恢复功能 特点:
官方网站:http:///benchmark.html
REmote DIctionary server(redis)是一个基于key-value键值对的持久化数据库存储系统,对支持数据存储类型更多,包括字符串、列表、集合等 是一种持久化缓存服务,会周期的把更新的数据写入磁盘以及把修改操作记录追加到文件里记录下来,还支持主从同步模式,是一个开源的基于C语言编写的,支持网络、内存可持久化的日志型、key-value数据库
redis存储系统优、缺点:
官方网站:http://www. redis将数据存储于内存中,通过快照、日志两种方式实现持久化存储,前者性能高,会有数据丢失的情况,后者相反。 MYSQL+memcached网站架构的问题:数据量大就需要拆表,需要扩容,数据一致性是个问题
要进行主从同步配置,可以实现故障切换,主上禁用数据持久化,从上配置,内存要够大 wget http://download./releases/redis-2.8.24.tar.gz [root@redis-m tools]#tar zxf redis-2.8.24.tar.gz [root@redis-m tools]#cd redis-2.8.24 [root@redis-m redis-2.8.24]#make [root@redis-m redis-2.8.24]#make PREFIX=/application/redis-2.8.24 install [root@redis-m redis-2.8.24]#ln -s /application/redis-2.8.24 /application/redis [root@redis-m tools]# tree /application/redis /application/redis `-- bin |-- redis-benchmark #性能测试工具 |-- redis-check-aof #检测更新日志 |-- redis-check-dump #检查本地数据库rdb文件 |-- redis-cli #命令行客户端操作工具 |-- redis-sentinel -> redis-server `-- redis-server #服务的启动程序 配置环境变量 [root@redis-m tools]# echo 'PATH=/application/redis/bin:$PATH'>>/etc/profile [root@redis-m tools]# source /etc/profile [root@redis-m tools]# which redis-server /application/redis/bin/redis-server 查看帮助文档 [root@redis-m tools]# redis-server --help Usage: ./redis-server [/path/to/redis.conf] [options] ./redis-server - (read config from stdin) ./redis-server -v or --version ./redis-server -h or --help ./redis-server --test-memory Examples: ./redis-server (run the server with default conf) ./redis-server /etc/redis/6379.conf ./redis-server --port 7777 ./redis-server --port 7777 --slaveof 127.0.0.1 8888 ./redis-server /etc/myredis.conf --loglevel verbose 启动服务 [root@redis-m ~]# cd /application/redis/ [root@redis-m redis]# ll total 4 drwxr-xr-x 2 root root 4096 Mar 22 04:50 bin [root@redis-m redis]# mkdir conf [root@redis-m redis]# cp /download/tools/redis-2.8.24/redis.conf ./conf/ [root@redis-m redis]# redis-server /application/redis/conf/redis.conf & [6072] 22 Mar 05:00:51.373 # Server started, Redis version 2.8.24 [6072] 22 Mar 05:00:51.374 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. #内存不足的时候,数据加载到磁盘可能失效,可以使用命令解决或修改配置文件 [6072] 22 Mar 05:00:51.375 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. [6072] 22 Mar 05:00:51.375 * The server is now ready to accept connections on port 6379 [root@redis-m redis]# lsof -i :6379 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME redis-ser 6072 root 4u IPv6 24271 0t0 TCP *:6379 (LISTEN) redis-ser 6072 root 5u IPv4 24273 0t0 TCP *:6379 (LISTEN) vm.overcommit_memory
关闭服务命令 [root@redis-m redis]# redis-cli shutdown [6072] 22 Mar 05:09:32.699 # User requested shutdown... [6072] 22 Mar 05:09:32.699 * Saving the final RDB snapshot before exiting. [6072] 22 Mar 05:09:32.710 * DB saved on disk [6072] 22 Mar 05:09:32.711 # Redis is now ready to exit, bye bye... [1]+ Done redis-server /application/redis/conf/redis.conf 如果需要了解redis集群相关的知识可参考前面的文章 |
|
来自: 昵称25533110 > 《待分类1》