一.redis简介:
1.什么是redis
Redis 是完全开源的,遵守BSD协议,是一个高性能的 key-value 数据库。它属于NoSQL数据库。
2.NoSQL简介:
NoSQL有两种说法,一般指的是非关系型数据库,另一种说法是说它是“Not Only SQL”的缩写,即"不仅仅是SQL"。NoSQL一般泛指非关系数据库,不保证关系数据库的ACID特点。
由于关系型数据库一般使用单线程、串行处理的方式。随着互联网应用的发展,用户请求量越来越大,这种处理方式已经很难满足需求了,因此NoSQL的概念应运而生。相比于关系型数据库,NoSQL通常使用分布式架构,因此大多数时候它同时具备了高性能、可扩展性强、高可用等优点,同时还可以更好地处理非结构化数据,如文本、图像、音频等。
NoSQL数据库可以大体上分为4个种类:键值 (Key-Value)、文档型、列存储以及图数据库。redis就属于key-value数据库。
3.redis的特点:
redis有以下特点:
性能高 – 性能高是redis最大的特点。Redis读的速度是110000次/s, 写的速度是81000次/s 。它之所以有如此高的性能主要是因为它将数据存到内存中,内存的读写非常快。此外由于它是单线程+多路复用(epoll),因此省去了线程上下文切换的时间,且能够很好的处理并发请求。。
数据类型多样 – Redis支持多种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)及有序集合(Sorted Set)等。
原子性 – Redis由于是单线程,因此所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。同时也支持事务,保证了多个操作的原子性。
持久化 – Redis的持久化保证了即使Redis服务重启也不会丢失数据,因为Redis服务重启后会将硬盘上持久化的数据恢复到内存中。
其它特性 – Redis还支持发布,订阅, 通知, key 过期等功能。
二.Linux安装redis:
根据系统类型使用yum,apt即可。
#centos
yum install redis
#如果系统安装了dnf也可以用dnf
dnf install redis
#ubuntu
apt install redis
安装后运行redis-server会出现如下界面
使用如下命令可以设置为开机自启
#启用redis
systemctl start redis
#设置redis为开机自启
systemctl enable redis
使用redis-cli可以连接本地redis:
[root@localhost ~]# redis-cli
127.0.0.1:6379> set num 15
OK
127.0.0.1:6379> get num
"15"
可以用如下命令连接远程redis
redis-cli -h ip地址 -p 端口 -n 数据库id -a 密码
redis默认端口为6379,redis默认没有密码,如果没设置密码不用输入-a。没有输入-n则默认进入第0个数据库。
三.redis基础配置:
redis配置文件在redis安装目录下,名为redis.conf。可以直接在配置文件进行修改,但是实际场景我们可能需要远程连接redis,因此一般我们可能使用cli来修改redis配置。
一般修改系统配置要使用config set+配置名+值,拿到配置一般要使用config get+配置名。部分操作如下:
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379 -a 1234
#select选择数据库id
127.0.0.1:6379> select 1
OK
#查看数据库数量,默认是16个
127.0.0.1:6379[1]> config get databases
1) "databases"
2) "16"
#修改数据库密码
127.0.0.1:6379[1]> config set requirepass 123
OK
#
127.0.0.1:6379> auth 123
OK