Redis数据库安装使用

Redis数据库简介

Redis数据库是典型的非关系数据库,

redis有以下几个优点

具有极高的数据读写速度
支持丰富的数据类型
支持数据备份
支持数据的持久化
原子性

安装并使用Redis数据库

实验环境及材料

一台centos7即可,Rdis软件包,

软件包链接如下
链接https://pan.baidu.com/s/1kV6shNMC9dPHFYwwjQf8hQ&shfl=sharepset
提取码:x3jo

1.Redis安装部署

1)安装

把包拖入Xshell
[root@CentOS7-02 ~]# tar zxf redis-3.2.9.tar.gz
[root@CentOS7-02 ~]# cd redis-3.2.9
[root@CentOS7-02 redis-3.2.9]# make && make install这个包不用进行./configure)

(我只是展示命令,如果你不改路径不要执行下面这条命令)
如下命令,可用改安装路径,
[root@CentOS7-02 redis-3.2.9]# make PREFIX=/usr/local/ install

默认没有启动脚本文件,软件包中默认有,通过这个脚本可用设置相关配置文件
[root@CentOS7-02 ~]# cd /root/redis-3.2.9/utils/
[root@CentOS7-02 utils]# ./install_server.sh
在这里插入图片描述
[root@CentOS7-02 utils]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 4263/redis-server 1

2)启动关闭服务

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 stop (关闭)
Stopping ...
Redis stopped

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 start (开启)
Starting Redis server...

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 status
Redis is running (4280) 如果是关闭状态,它也会显示running,但不显示后面的数字,(进程号)

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 restart (重启)

2.Redis命令工具

1)Redis命令行工具

[root@CentOS7-02 ~]# redis-cli (登陆本机的Redis数据库)
127.0.0.1:6379> ping (测试Redis服务是否启动,如下表示启动)
PONG

远程登陆其他的Redis数据库,这个就使用自己的IP演示
远程的话需要修改配置文件,添加自己的IP地址,才可以让自己或别人连接
127.0.0.1:6379> exit
[root@CentOS7-02 ~]# vim /etc/redis/6379.conf
在这里插入图片描述
[root@CentOS7-02 ~]# /etc/init.d/redis_6379 restart
[root@CentOS7-02 ~]# redis-cli -h 192.168.100.102 -p 6379
192.168.100.102:6379>
192.168.100.102:6379> exit (退出数据库)
当然上面如果你有第二台Redis服务器,也可以换成第二台的IP去连接

使用help命令帮助
[root@CentOS7-02 ~]# redis-cli
127.0.0.1:6379> help set (查看set命令的帮助)
SET key value [EX seconds] [PX milliseconds] [NX|XX]
summary: Set the string value of a key
since: 1.0.0
group: string

2)redis-benchmark测试工具

这个工具官方的工具,可以有效的测试Redis数据库的性能,

1. 向I地址为192.168.100.102的IP(就是自己IP),端口6379,的Redis服务器,发送100个并发连接,与100000个请求测试

[root@CentOS7-02 ~]# redis-benchmark -h 192.168.100.102 -p 6379 -c 100 -n 100000

2.测试存取大小为4MB的数据包性能

[root@CentOS7-02 ~]# redis-benchmark -h 192.168.100.102 -p 6379 -q -d 4MB

3.Redis数据库常用命令

Redis数据库采用 key-value (键值对)的数据存储形式

set:存放数据,格式 set key valuse
get: 获取数据,格式 get key

127.0.0.1:6379> set aaa bbb
OK

127.0.0.1:6379> get aaa
"bbb"

key相关命令

1)keys

使用keys命令可以取符合规则的键值列表,结合*
127.0.0.1:6379> set a1 1
OK

127.0.0.1:6379> set a2 2
OK

127.0.0.1:6379> set a3 3
OK

127.0.0.1:6379> set v1 22
OK

127.0.0.1:6379> set v2 4
OK


127.0.0.1:6379> keys * (显示当前库所有键)
1) "v2"
2) "key:__rand_int__"
3) "a2"
4) "mylist"
5) "a3"
6) "k1"
7) "counter:__rand_int__"
8) "aaa"
9) "k2"
10) "a1"
11) "v1"


127.0.0.1:6379> keys v* (显示所有以v打开头的键)
1) "v2"
2) "v1"


127.0.0.1:6379> set v22 8
OK
127.0.0.1:6379> keys v? (显示键以v开头而且是后面只有一个字符的)
1) "v2"
2) "v1"


127.0.0.1:6379> keys v?? (显示键以v开头而且后面只有两个字符的)
1) "v22"

2)exists

使用这条命令可以判断键值是否存在
127.0.0.1:6379> exists v1
(integer) 1 ( 1 表示这个键存在)

127.0.0.1:6379> exists u
(integer) 0 (0 表示这个键不存在)

3)del

删除键值
127.0.0.1:6379> get a1
"1"

127.0.0.1:6379> del a1
(integer) 1 (删除成功)

127.0.0.1:6379> get a1
(nil) (提示已经没有了)

4)type

使用type命令可以获取key对应的value值类型
127.0.0.1:6379> type a2
string

5)rename

rename命令是对已有的key进行重命名,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值
127.0.0.1:6379> set s1 1
OK

127.0.0.1:6379> set s2 2
OK

127.0.0.1:6379> set s3 3
OK

127.0.0.1:6379> keys s*
1) "s2"
2) "s1"
3) "s3"

127.0.0.1:6379> rename s2 s3 ( 把s2重命名为s3, s3的原来的值就会变成s2 的值覆盖)
OK

127.0.0.1:6379> keys s*
1) "s1"
2) "s3"

127.0.0.1:6379> get s3 (是s2的键值)
"2"

6)renamenx

renamenx 命令的作用是对已有的key进行重命名,并检测新名是否存在,如果目标key存在,就不进行重命名

127.0.0.1:6379> get s1
"1"

127.0.0.1:6379> get s3
"2"

127.0.0.1:6379> renamenx s1 s3
(integer) 0 (这显示执行失败)

127.0.0.1:6379> get s1
"1"
127.0.0.1:6379> get s3
"2"

127.0.0.1:6379> renamenx s1 s5 (这样可以)
(integer) 1

127.0.0.1:6379> get s5
"1" (这是s1的键值)

127.0.0.1:6379> get s1
(nil) (已经不存在了)

多数据库常用命令

1)多数据库间切换

Redis支持多数据库,Redis在没有任何改动情况下默认包含16个数据库,使用数字0~15来表示
[root@CentOS7-02 ~]# redis-cli
127.0.0.1:6379> (默认进去是0数据库,不会显示)

127.0.0.1:6379> select 10 (切换到10数据库)
OK

127.0.0.1:6379[10]> (显示前面有个10,表示当前是10数据库)

127.0.0.1:6379[10]> select 16
(error) ERR invalid DB index (没有16及以上的数据库)

2)多数据库间移动数据

Redis的多数据库中的数据都是独立的,例如在0上的aaa键值,其他数据库是没有的
127.0.0.1:6379> get aaa
"bbb"

127.0.0.1:6379> select 1
OK

127.0.0.1:6379[1]> get aaa ( 显示没有)
(nil)

Redis数据库提供了一个move命令,可以在数据库中移动数据,而不是复制,原有位置的键会没有
127.0.0.1:6379[1]> select 0
OK

127.0.0.1:6379> get aaa
"bbb"

127.0.0.1:6379> move aaa 1 (把aaa键值移动到 1 数据库)
(integer) 1

127.0.0.1:6379> get aaa (原来位置已经没了)
(nil)

127.0.0.1:6379> select 1 (切换到 1 里)
OK

127.0.0.1:6379[1]> get aaa (已经过来了)
"bbb"

3)清空数据内容

127.0.0.1:6379[1]>flushdb ( 清空当前所在,1数据库内容)

127.0.0.1:6379[1]> flushall (清空所有数据库内容,16个)
OK

到这里,基本的数据库使用就没有问题了

发布了54 篇原创文章 · 获赞 57 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_45308292/article/details/102682487