redis安装与基本使用
FLowUs邀请链接:https://flowus.cn/login?code=AXNU63
FlowUs邀请码:AXNU63
什么是Redis
什么是NoSQL
介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL
属于非关系型数据库;Redis就属于非关系型数据库
传统的Mysql ,oracle ,sql server 等 都是关系型数据库
为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心
- High performance -高并发读写
- Huge Storage-海量数据的高效率存储和访问
- High Scalablility && High Availability 高可扩展性和高可用性
NoSQL的特点
易扩展
灵活的数据模型
大数据量,高性能
高可用
高性能键值对数据库,支持的键值数据类型
- 字符串类型
- 列表类型
- 有序集合类型
- 散列类型
- 集合类型
Redis的应用场景
- 缓存
- 任务队列
- 网站访问统计
- 数据过期处理
- 应用排行榜
- 分布式集群架构中的session分离
安装Redis
第一步:安装gcc
gcc是用来编译c语言的,因为redis源码是c写的,所以需要gcc
yum install gcc-c++
第二步:wget方式,下载redis压缩包,并解压以及编译
下载:
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
解压:
tar -zxvf redis-3.2.9.tar.gz
进入解压后的目录:
make
第三步:安装redis
make PREFIX=/usr/local/redis install
安装到/usr/local/redis
回到解压目录,
cp redis.conf /usr/local/redis/
第四步:启动和关闭redis服务
启动:redis里的redis-server命令
结束:Ctrl + C
或者:./bin/redis-cli shutdown
验证:ps -ef | grep -i redis
后台启动
编辑redis.conf文件
把no改成yes
使用指定配置文件启动:
./bin/redis-server ./redis.conf
Redis的基本使用
./bin/redis-cli
,进入客户端
字符串类型:
- 存储:
set key value
- 获取:
get key
- 无值返回nil
- 删除:
del key
哈希类型 hash:
- 存储:
hset key field value
- 获取:
- 获取指定field:
hget key field
- 获取全部field:
hgetall key
- 获取指定field:
- 删除:
hdel key field
列表类型:可以添加一个元素到列表的头部或者尾部
- 存储:
- 将元素添加到列表左边:
lpush key value1, value2, ......
- 将元素添加到列表右边:
rpush key value1, value2, ......
获取:
- 将元素添加到列表左边:
- 范围获取:
lrange key start end
(获取所有可以写start是0,end是-1)
删除: lpop
:从左边弹出一个元素(删除最左边元素并返回)rpop
:从右边弹出一个元素
集合类型:
存储:sadd key value
获取:smembers key
:获取set集合中所有元素
删除:srem key value
:删除set集合中的某个元素
有序集合类型:
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复
集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)。
- 存储:
zadd key score value
- 获取:
- 获取所有:
zrange key start end
- 获取所有:
- 删除:
zrem key value
通用命令:
- 查询所有的键:
keys *
(*处其实可以添加正则表达式) - 获得value类型:
type key
- 删除指定key的value:
del key