文章目录
1.非关系型数据库
(数据与数据之间没关系,以键值对的形式存在数据库)
基于文件:ehcache
基于内存:redis、memcached
基于文档:mongodb
2. Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
Redis用途:1. 数据库 2. 缓存
3.Redis安装步骤
① yum install gcc-c++
(gcc编译c的,因为redis是c语言编写的,
所以我们先安装下gcc)
② 去Redis官网下载它的压缩包
③然后把压缩包放入 soft文件夹中
④把压缩包解压
tar -zxvf redis-5.0.5.tar.gz
⑤ 编译,进入Redis目录下进行
make
⑥ 在Redis目录下进行 ./src/redis-server
,如果出现下面这个千层饼,说明Redis服务端安装成功
⑦ 开启守护进程,不开启的话,不能做其他操作
先copy一个redis.conf的备份,redis_bak.conf
cp redis.conf redis_bak.conf
然后进入redis.conf进行编辑,vi redis.conf
①找到daemonize no,将no改为yes
退出保存,然后测试redis服务是否连接成功
./src/redis-server redis.conf
./src/redis-cli
出现下面效果说明服务连接成功
4可视化管理工具redis-desktop-manager安装与配置
4.1 双击redis-desktop-manager-0.8.8.384.exe即可
4.2 配置远程登录
#编辑redis.conf配置文件
② #bind 127.0.0.1 #注释这一行(69行)
4.3 配置密码登录
#编辑redis.conf配置文件
#找到下面这一行并去除注释,并添加密码
③ #requirepass foobared #修改前
requirepass 123456 #修改后
注1:配置完成密码后,以后登录就密码按下面的命令进行登录
配置好redis.conf文件之后重启redis:
1. [root@VM_0_15_centos redis-5.0.8]# ps -ef|grep redis 找到redis进程
root 27181 7185 0 11:03 pts/0 00:00:00 grep --color=auto redis
2.[root@VM_0_15_centos redis-5.0.8]# kill 27181 杀死这个进程
3.[root@VM_0_15_centos redis-5.0.8]# ./src/redis-server redis.conf 重新启动redis
28330:C 10 Jul 2020 11:04:14.579 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
28330:C 10 Jul 2020 11:04:14.579 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=28330, just started
28330:C 10 Jul 2020 11:04:14.579 # Configuration loaded
4.[root@VM_0_15_centos redis-5.0.8]# ./src/redis-cli -h IP地址 -p 6379 -a 密码
在黑窗口连接redis
然后去RedisDesktopManager 连接
如果连接不上可以设置一下防火墙
开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
跟新防火墙规则
firewall-cmd --reload
防火墙列表
firewall-cmd --zone=public --list-ports
防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
最后再去连接,连接成功
5.操作Redis数据库
通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
5.1 字符串类型
连接数据库
选择第三个数据库:select 2
给这个数据库赋值(增):set sname zs
set sex nan
set age 19
取值 get sname
获取所有的key (查) keys *
删除key (删) del age(键名)
修改key值 (改) set sex(键名) 女(键值)
5.2 hash存储
hash特别适合用于存储对象
**存储对象user1**
hset user1 uname ls
hset user1 sex nv
hset user1 age13
**存储对象user2**
hset user2 uname ww sex nan age 25
**查询(获取所有,键,值)**
hgetall user1
1) "uname"
2) "ls"
3) "sex"
4) "nv"
5) "age"
6) "13"
**获取单个值**
hget user2 uname
"ww"
5.3 列表(List)
给列表添加数据 lpush hobby a b c d e f g
弹出 lpop hobby g
根据下标查出具体的元素 lindex hobby 2
查出一定范围的元素 lrange hobby 2 4
查询列表的长度 llen hobby
6. Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)