1 什么是redis?
redis是用c语言开发的一个开源的高性能键值对(key-value)数据库,它通过提供多种键值数据类型来适应不同场景下的存储需求。目前支持的数据类型有:字符串类型、散列类型、列表类型、集合类型、有序集合类型。
2 redis特点?
- redis是远程的,分别部署在客户端和服务端,通常指服务端
- redis是基于内存的,速度高于基于硬盘的数据库
- redis是非关系型数据库。
2.1 什么是关系型数据库?什么是非关系型数据库?
简单来说,关系型数据库就是我们平时在建立数据库时考虑到的“一对一”、“一对多”、“多对多”的关系,表中的每个数据之间互相关联;而非关系型数据库则是不考虑数据之间的联系,通常用键值对来存储数据。
3 应用场景
- 缓存,提升系统性能。
- 队列,提供pop和push方法
- 数据存储,redis有完备的硬盘持久化机制,可以用作数据存储。
4 安装步骤
4.1 安装gcc环境
yum install gcc-c++
4.2 安装redis
#解压文件
tar -zxvf redis-3.030.tar.gz
#进入redis-3.0.0文件夹
cd redis-3.0.0
#编译redis
make
#安装
make PREFIX=/usr/local/redis install
#copy文件
cp redis.conf /usr/local/redis
5 后端模式启动redis服务
#修改redis.conf配置文件,daemonize yes以后端模式启动
vim /usr/local/redis/redis.conf
#启动时,指定配置文件
cd /usr/local/redis/
./bin/redis-server ./redis.conf
#查看redis服务端口号
ps -ef | grep -i redis
6 redis使用
6.1 连接客户端
#指定端口
./bin/redis-cli -h ip地址 -p 端口号
#默认端口
./bini/redis-cli
6.2 使用方式
#String可以通过set、get方式来添加或删除,建立键值对的关系。除了字符串外,还可以存放int类型
set string1 nick
get string1
#list是一个双端队列,可以从队列的左边或者右边lpush/rpush或者lpop/rpop元素,元素可以重复
lpush list1 1
lpush list1 2
rpop list1
rpop list1
#set是一种无序、不可重复的存储方式,用sadd方法插入,scard查看,srem删除,
sadd set1 1
scard set1
srem set1 1
#hash是一种散列类型,保存一种键值对,hset插入,hget取得,hlen查看长度
hset hash1 key1 1
hget hash1 key1
hlen hash1
hmget hash1 key1 key2
#sort set 分数set,隐含排序。zadd插入,zrange按value排序输出
zadd zset1 10.1 val1
zcard zset1
zrange zset1 0 2 withscores