redis安装部署及常用命令详解

一、关系数据库与非关系型数据库

关系型数据库
●一个结构化的数据库,创建在关系模型基础上
●一般面向于记录
●包括
Oracle、MySQL、SQL Server、Microsoft Access、DB2等

非关系型数据库
●除了主流的关系型数据库外的数据库,都认为是非关系型
●包括
Redis、MongBD、Hbase、CouhDB等

1.1、非关系型数据库产生背景

●High performance——对数据库高并发读写需求
●Huge Storage———对海量数据高效存储与访问需求
●High Scalability && High Availability———对数据库高可扩展性与高可用性需求

二、Redis简介

Redis基于内存运行并支持持久化
采用key-value(键值对)的存储形式

优点
●具有极高的数据读写速度
●支持丰富的数据类型
●支持数据的持久化
●原子性
●支持数据备份
在这里插入图片描述

2.1、Redis安装部著

1)操作步骤
在这里插入图片描述
2)编译安装Redis

[root@localhost ~]# tar zxvf redis-5.0.7.tar.gz
[root@localhost ~]# yum -y install gcc gcc-c++
[root@localhost ~]# cd redis-5.0.7/
[root@localhost redis-5.0.7]# make prefix=/usr/local/redis install
  1. 设置Redis相关配置文件
    按回车继续就可以了
    在这里插入图片描述

3)Redis配置文件

配置参数(/etclredis/6379.conf)
bind: 监听的主机地址
port:端口
daemonize yes:启用守护进程
pidfile:指定PID文件
loglevel notice:日志级别
logfile:指定日志文件

三、Redis数据类型

Redis支持五种数据类型: string (字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)

1)String (字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key 对应一个value.
string类型是二进制安全的。redis的string 可以包含任何数据。比如jpg图片或者序列化的对象。
string类型是Redis最基本的数据类型,string类型的值最大能存储512MB。

20.0.0.38:6379> set name zhangsan
OK
20.0.0.38:6379> get name
"zhangsan”

2)Hash(哈希字典)

Redis hash是一个键值(key=>value)对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
每个hash可以存储2的32次方-1键值对。
//作用场景:
键值对集合,即编程语言中的Map类型
适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值

20.0.0.38:6379> hmset stu name lisi age 18 sex 男
oK
20.0.0.38:6379> hget stu name
"lisi"
20.0.0.38:6379> hget stu age
"18”
20.0.0.38:6379> hget stu sex
//--raw解决中文乱码问题
[root@localhost utils]# redis-cli -h 20.0.0.38 -p 6379 --raw
20.0.0.38:6379> hget stu sex
男

3)List(列表)

Redis列表是简单的字符串列表,按照插入顺序排序,可以重复。可以添加一个元素到
列表的头部(左边)或者尾部(右边)。列表最多可存储2的32次方-1元素。
//作用场景:
增删快,提供了操作某一段元素的API 1,最新消息排行等功能(比如朋友圈的时间线)⒉,消息队列

20.0.0.38:6379> lpush hobby play
1
20.0.0.38:6379> lpush hobby read
2
20.0.0.38:6379> lpush hobby sport
3
20.0.0.38:6379> lrange hobby 0 10
sport
read
play

4)Set(集合)

Redis 的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
//作用场景:
1、共同好友2、利用唯一性,统计访问网站的所有独立ip3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐

sadd命令
添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中返回0。

20.0.0.38:6379> sadd color red green yellow
3
20.0.0.38:6379> smembers color
red
yellow
green
20.0.0.38:6379> sadd color red
0

5)zset(sorted set:有序集合)

Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序.
zset的成员是唯一的,但分数(score)却可以重复。
//作用场景:
将Set中的元素增加一个权重参数score,元素按score有序排列
数据插入集合时,已经进行天然排序 1、排行榜2、带权重的消息队列

zadd命令
添加元素到集合,元素在集合中存在则更新对应score
示例:
20.0.0.38:6379> zadd color 0 red
1
20.0.0.38:6379> zadd color 0 blue
1
20.0.0.38:6379> zadd color 1 green
1
20.0.0.38:6379> zadd color 1 yellow
1
20.0.0.38:6379> zrangebyscore color 0 10
blue
red
green
yellow

四、Redis数据库常用命令

1)redis-cli命令行工具

连接本地数据库

[root@localhost utils]# redis-cli -h 127.0.0.1 -p 6379   
127.0.0.1:6379>           ###这就连接进去了

连接远程数据库

[root@localhost utils]# redis-cli -h 20.0.0.38 -p 6379    
20.0.0.38:6379> 

set:存放数据

20.0.0.38:6379>  set name zhangsan
OK

get:获取数据

20.0.0.38:6379> get name
"zhangsan”

2)key相关命令

keys:获取符合规则的键值列表

20.0.0.38:6379> KEYS *
color
score
sex
age

exists:判断键值是否存在

20.0.0.38:6379> set name zhangsan
oK
20.0.0.38:6379> exists name
1
20.0.0.38:6379> exists names
0

del:删除当前数据库的指定keyo
type:获取key对应的value值类型

20.0.0.38:6379> lpush color red blue
2
20.0.0.38:6379> TYPE color
list
20.0.0.38:6379> set name zhangsan
oK
20.0.0.38:6379> TYPE name
string

rename(覆盖) / renamenx(不覆盖):对已有的key进行重命名

20.0.0.38:6379> rename name na
oK
20.0.0.38:6379> get na
zhangsan

dbsize:查看当前数据库中key的数目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值