Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis和memcached的主要区别
1、Redis除了支持字符串(String)外, 还支持哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,就是说集合里面嵌套集合
2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
3、性能对比:由于Redis只使用单核,而Memcached可以使用多核
Redis安装
1、下载:https://github.com/MicrosoftArchive/redis/releases,Window平台这里我们下载 Redis-x64-xxx.zip
2、安装:解压Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis
3、启动:打开 cmd 命令窗口,使用cd命令切换目录到 C: edis 运行 redis-server.exe redis.windows.conf
4、测试:另启一个cmd命令窗口,原来的不要关闭,不然就无法访问服务端了。切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 ,或者直接运行redis-cli.exe
链接到远程:redis-cli -h host -p port -a password
设置键值对 set myKey abc
取出键值对 get myKey
删除键值对 del mykey
Redis 类型
String:Redis 字符串存取与Memcached基本一致,普通的key/value存储
Hash:在value存储Hash对象集合
常用命令:HGET、HSET、HGETALL、HMSET等
使用场景:比如客户购物车,Hash里面存储商品集合,key存储商品ID,value存储商品信息对象
List:在value存储List对象集合
常用命令:LPUSH、LPOP、LRANGE、LREM、LLEN等
实现方式:Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作
Set:在value存储无序无重复的Set对象集合
常用命令:SADD、SMEMBERS等
Sorted Set:在value存储无序无重复的Set对象集合
常用命令:ZADD、ZRANGE
应用示例:ZADD mykey 1 redis ZADD mykey 2 mongodb
备份和恢复
数据文件一般保存是安装目录的dump.rdb文件
保存:Save
恢复:CONFIG GET dir