非关系型数据库-----redis
1.什么是非关系型数据库?
非关系型数据库其实就是对关系型数据库的一种补充,不能够代替关系型数据库,常见的非关系型数据库就有Redis和Mangodb等。
2.什么是redis?
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
3.redis的安装
(1)首先安装redis需要的环境,采用命令行的模式
yum install -y gcc-c++
(2)下载redis源码安装包
(3)将下载的redis解压到自己创建的文件夹中,该文件夹自己可以任意取名
(4)进入到自己创建的文件夹中执行编译命令 make
(5)执行安装命令 make install
(6)开启redis服务 redis-server redis.conf
4.连接redis服务器
redis-cli -h redis服务器的ip -p redis服务器的端口号
5. redis配置文件讲解
daemonize yes 表示启动redis服务器时 后台启动
port 6379 表示默认的端口号 自己可以修改
bind 127.0.0.1 表示默认运行绑定的端口号 HTTP协议,0.0.0.0表示所有人都可以连接
6.redis的常用命令
1.对key操作的命令
keys *: 查询所有的key;
del key....:删除指定的key
expire key seconds: 为指定的key设置过期时间单位为秒
ttl key: 查询指定key的存活时间
2 对数据库的操作命令
flushdb: 清空当前数据库中的数据。
select index: 选择数据库
flushall: 清空所有数据库中的数据。
3. redis支持的数据类型
1. String字符串类型
2. Hash 哈希类型
3. list 队列
4. set 集合
5. sorted set 有序集合。
4. String字符串类型的操作命令
set key value: 把字符串的value存放到对应的key上。
get key: 根据指定的key获取对应字符串的value
mset key value key value key value....: 一次存放多个字符串的value到相应的key上
mget key key...: 根据指定的多个key获取对应的字符串的value
setnx key value: 把指定的value存放到对应的key上,如果对应的key已经存在,则不存储。
如果不存在则存储。 返回0或者1
incr key: 为指定的key的value值进行递增。应用场景:点赞 收餐 转发等
decr key: 递减
5. Hash 类型的操作命令
hset key field value: 存放一个指定key的field-value的数据库
hget key field:获取指定key的field字段对应的value值。
hkeys key: 获取指定key的所有field字段名
hvals key: 获取指定key的所有value值。
hgetall key: 获取指定key的所有的field和value值。
HDEL key field: 删除指定key的field字段。
定key的所有value值。
hgetall key: 获取指定key的所有的field和value值。
HDEL key field: 删除指定key的field字段。