了解一下Redis
1.Redis是基于键值对的NoSQL数据库,键都是string,它的值支持多种数据结构:字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。
2.Redis将所有的数据都存放在内存中,所以其读写性能很好,同时,Redis还可以将内存中的数据以快照(RDB,直接把当前内存中的数据传到硬盘上,优点是数据的体积小,硬盘恢复数据到内存中很快,缺点是比较耗时,存储的时候会产生阻塞,可能会影响事务的处理,不适合实时完成,而是几个小时做一次数据备份)或日志(AOF,每执行一个redis命令就会存下来,比较快,但存命令是以不断追加的形式存的,AOF是增量存,不是整体拷贝,所以比较占用磁盘空间,从硬盘恢复数据到内存中是将命令从头到尾跑一遍)的形式保存到硬盘上,以保证数据的安全性
3.Redis典型的应用场景包括:缓存(有些数据访问的比较频繁,存到硬盘上读取速度会很慢,建议存到内存中)、排行榜、计数器、社交网络、消息队列(对这方面要求不高可以用Redis,如果高的话可以用Kafka等其他工具)等
4.NoSQL数据库是除了关系型数据库(MySQL、Oracle等)以外所有数据库的统称,Not Only SQL。
5.Redis优点:性能好,支持的数据类型很完善,使用上很简单
6.Redis重点:会操作数据类型、学会命令等。上官网Commands,Redis没有提供Windows系统的安装包,只有Linux的,微软自己开发的Windows安装包的网址。Redis默认端口是6379。
7.参考博客,在deepin15.5系统上安装Redis等相关命令如下:
-
安装:
sudo apt-get install redis-server
-
安装完成后,Redis服务器会自动启动,执行如下命令检查Redis服务器程序情况:
ps -aux|grep redis
-
两个查看6379端口命令:
netstat -nlt|grep 6379 ss -lntp | grep 6379
-
其他命令
停用: /etc/init.d/redis-server stop
启动: /etc/init.d/redis-server start
重启: /etc/init.d/redis-server restart
-
命令
redis-cli
链接redis -
Redis内置默认16个库,用索引区分,从0-15,默认是第0个库,执行命令
redis-cli
后执行命令select 1
表示切换到第1个库 -
命令flushdb刷新数据库,等于清空数据库
-
在关系型数据库中一般命名格式如下:
one_key
,用下划线连接,Redis中一般one:key
,用冒号连接。 -
往库中存值为string类型的数据执行命令
set test:count 1
,1在Redis中以字符串的形式存储;取数据执行命令get key:count
,得到的是"1";将value加一执行命令incr test:count
;将value减一执行命令decr test:count
; -
往库中存值为hash类型的数据:
-
往库中存值为list类型的数据,比较灵活,可以从左、右边开始存、取数据(左进左出可以看作是栈,左进右出可以看作是队列)
-
往库中存值为set类型的数据(可实现抽奖箱,每次可以随机弹出元素)
-
往库中存值为sortedSet类型的数据,每次存入的都是(score member)的形式,命令
zrank
按照每个member对应的score从小到大排名,得到对应排第几
-
命令
keys *
查询数据库中所有的数据,keys test*
查询数据库中所有以test
开头的key的数据