redis是一个key-value存储系统。和Memcached相似,它支持存储的values类型相对更多,包括字符串、列表、哈希散列表、集合,有序集合。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。
与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。html
相同点:都是NoSQl数据库,数据存到内存,读取速度快 好处以下: 1.减小数据库压力,提高访问速度 2.在数据挂掉的状况下,仍能保证业务正常运行一段时间,提高安全性 不一样点: (1)类型 memcached:类型单一,只能存字符串"key为字符串"="value也为字符串" redis:支持五大类型:string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)、hash(哈希类型) (2)持久化 memcached:断电数据丢失 redis:支持持久化,单独开一个进程完成持久化,要保持性能就须要关闭持久化,不少公司并不使用持久化功能
$ wget http://download.redis.io/releases/redis-5.0.2.tar.gz $ tar xzf redis-5.0.2.tar.gz $ cd redis-5.0.2 $ make # 编译redis程序
通常启动reids-server都须要结合配置文件来启动。这样在配置文件中的配置就会生效在启动的redis服务中。redis
$ pwd /Users/hqs/redis-5.0.2 $ src/redis-server redis.conf # 启动redis服务 # 启动新终端,使用内置的客户端与redis进行交互 $ pwd /Users/hqs/redis-5.0.2 $ src/redis-cli 127.0.0.1:6379> set name 'bobo' OK 127.0.0.1:6379> get name "bobo"