什么是Redis
Redis即 Remote Dictionary Server (远程字典服务器)
Redis数据大部分存储在内存中,内存读写速度快,但是贵。所以Redis适合放访问频繁、数据量较小的数据。
Redis的优点:
- 支持数据持久化
- 支持多种数据结构
- 支持数据备份
- 性能强大,数据读写速度极快
Redis详细安装步骤
https://blog.csdn.net/qq_39187538/article/details/126485922
Redis的出现——数据库的发展
-
单机数据库时代:一个应用一个数据库实例;
-
缓存时代:数据库搭配缓存中间件使用(可以解决访问效率问题,但是无法解决存储数据量过大的问题);
-
水平切分、垂直切分时代:通过垂直、水平分表两种方式,减少单数据库数据量;
-
读写分离时代:数据库做主从分布,读写分离,解决的是请求并发量过大的问题;
-
数据库分库做集群:再次解决数据量过大问题。
为什么出现Nosql数据库来分担关系型数据库的工作:
- 原因:关系型数据库以表为单位存储数据,由于表和表之间可能是有关联的,联表查询可能会使得表的访问效率很低。如今互联网飞速发展、数据交互数量巨大,使得关系型数据库已经不能满足使用要求。
- 非关系型数据库(NoSql)的出现,是从底层存储机制上彻底改变存储方式,不再采用关系数据模型,而是以聚合数据结构存储数据
- NoSql = non-relational(非关系型数据库),数据之间一但没有了关系,使得扩展性、读写性能都大大提高
Redis服务相关指令
-
服务端启动:
shell> redis-server
-
启动redis服务时,指定配置文件:
shell> reids-server redis.conf
-
关闭redis服务:
shell> reids-cli shutdown
-
指定redis-cli连接的服务器IP与端口:
shell> redis-cli -h xxx.xxx.xxx.xxx -p 6379
-
测试redis服务性能(使用前确保redis服务已经启用):
shell> redis-benchmark
-
测试redis客户端/程序是否能连接上redis服务器:
shell> redis> ping
(如果正常···pong,如果连接不正常····返回空) -
查看redis服务的所有统计信息
查看所有信息:redis> info
查看指定信息:redis> info [信息段]
Redis的数据库相关指令
- 切换数据库实例
redis> select
index
(index为数据库实例编号) - 清空当前数据库实例
redis> flushdb
- 清空所有数据库实例
redis> flushall
- 查看redis配置信息
redis> config get *
redis> config get
parameter
(parameter为配置参数,如port)
Redis的Key操作指令
-
查看所有key值
redis> keys *
-
使用通配符查找指定范围的key值
redis通配符:*(通配一个或多个字符)
redis> keys hello*
(通配以hello开头的key值)
redis通配符:?(通配一个字符)
redis> keys h?llo
(通配以h开头且以llo结尾的key值)
redis通配符:[…](通配中括号中的指定字符)
redis> keys h[e,f,g]llo
(通配在“h”与“llo”之间为“e”、“f”、“g”的key值) -
查看当前数据库所有key的数量
redis> dbsize
-
判断当前key再数据库中是否存在
redis> exists [keyName1, keyName2, keyName3.....]
(返回存在的key的个数) -
移动指定key到指定数据库实例
redis> move keyName 1
(将key‘keyName’移动到数据库1中) -
查看指定key的剩余生存时间
redis> ttl keyName 1
(如果key没有设置生存时间,返回-1)
(如果key不存在,返回-2) -
查看指定key的类型
redis> type keyName
(返回key类型) -
设置key的最大生存时间
redis> expire keyName
seconds
(seconds为设置的秒数) -
重命名key
redis> rename keyName newKeyName
-
删除指定的key
redis> delete [keyName1, keyName2, keyName3.....]
Redis操作手册
http://doc.redisfans.com/index.html