Redis学习笔记
什么是Redis?
Redis是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化NoSQL数据库。
为什么需要使用Redis?
就拿微博说个实例吧:大家都知道使用微博的人可以用亿来进行统计;
假如有一天一位明星在微博发布了自己有女朋友了,这肯定是要往数据库去存储的,发布完成后,粉丝们纷纷口吐芬芳着点击看看是哪个王八蛋,一瞬间访问这篇博文的人达到了10w,每一次访问,程序都要去访问数据库读取数据,再返回数据,就算是读写分离也经不住这样杠吧!!!数据库会在这个时间段会被访问上w次,中国网民这么可怕,谁敢说不可能?这时候Redis缓存服务器就出现起作用:在这位明星发完博文后,Redis中是不存在这个博文数据的,但是只要有第一位粉丝去访问的时候,程序会判断Redis中存不存在这条数据?false:会去数据库中寻找,找到会存放在Redis中,再返回数据!!!这样就解决了数据库被多次访问的问题。
1.先在Linux上安装Redis,我这里用的是ContOS7
1):用Xshell工具连接上Linux:再输入命令切换到管理员: su root,输入你的管理员密码。--- WelCome
2):下载Redis命令: wget http://download.redis.io/releases/redis-4.0.2.tar.gz
3):解压Redis命令: tar -zxvf redis-4.0.2.tar.gz
4):安装Redis命令: 编译:make,安装完成再输入命令:make install检查一下就ok了。可能会缺失gcc++,需要去install,这里就不再说了。
5):前端运行Redis命令: redis-server Ctrl+C :退出前端页面 后台运行Redis命令: redis-server &
6): 验证是否启动正确命令:ps -ef grep redis
2.Redis三个特点:
1):指数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载使用。
2):不仅仅支持简单的key/value类型的数据,同时还提供list、set、zset、hash等数据结构的存储。
3):支持数据的备份,即master-slave模式的数据备份。
3.Redis五大数据类型
基本Redis命令:
String常见命令:
String(字符串)单值单value
String是Redis最基本的类型,一个key对应一个value,一个字符串最多可以是512M。
String类型是二进制安全的。意思是Redis的Stirng可以包含任何数据。比如jpg或者序列化的对象。
Hash常见命令:
Hash(哈希,类似于Java中的Map)value是一个键值对
Hash是一个键值对集合,是String类型的field和value的映射表,特别适合用于存储对象
List常见命令:
List(列表)单值多value
列表是简单的字符串列表,按照插入顺序排序。底层是链表。
Set常见命令:
Set(集合)单值多value
String类型的无序集合。通过HashTable实现的。
ZSet常见命令:
ZSet(sorted set:有序集合)
String类型元素的集合,不允许重复的成员。