Redis
介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL属于非关系型数据库;Redis就属于非关系型数据库
传统的Mysql ,oracle ,sql server 等 都是关系型数据库
为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心
High performance -高并发读写
Huge Storage-海量数据的高效率存储和访问 High Scalablility
&& High Availability 高可扩展性和高可用性
NoSQL的特点
易扩展 灵活的数据模型 大数据量,高性能 高可用
高性能键值对数据库,支持的键值数据类型 字符串类型 列表类型 有序集合类型 散列类型 集合类型
安装:
gcc编译c的,因为redis是c编写的,所以我们先安装下gcc
yum install gcc-c++
wget方式 下载redis压缩包
yum -y install wget
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
解压
Tar -xvf redis-5.0.2.tar.gz
进入目录
cd redis-5.0.2/
编译
Make
redis-5.0.2/redis.conf
开启守护进程,不开启的话,不能做其他操作
#daemonize no
daemonize yes
不能操作如下
./src/redis-server
可以操作如下
./src/redis-server redis.conf
使用redis
./src/redis-cli
退出:
Exit
Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
#字符串
set name #保存
get name #获得
type name #查看类型
keys *
del name
#哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key attr1 value1 attr2 value2
hget key attr1
hgetall key
#列表(List)
lpush key value1 value2 value3
llen key
lindex key index
lrange key start stop #stop可以为-1,到末尾的意思
#Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value #sadd idcard 100
sadd key value1 value2 vlaue3
scard key
sscan key cursor [MATCH pattern] [COUNT count]
exists key #检查key是否存在