1.nosql

学名(not only sql)

特点:

存储结构与mysql这一种关系型数据库完全不同,nosql存储的是KV形式

nosql有很多产品,都有自己的api和语法,以及业务场景

产品种类:

Mongodb

redis

Hbase hadoop

2.yum安装redius

#前提得配置好阿里云yum源,epel源
#查看是否有redis包
yum list redis
#安装redis
yum install redis -y
#安装好,启动redis
systemctl start redis

3. 源码编译安装

1.下载redis源码
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2.解压缩
tar -zxf redis-4.0.10.tar.gz
3.切换redis源码目录
cd redis-4.0.10.tar.gz
4.编译源文件
make
5.编译好后,src/目录下有编译好的redis指令
6.make install 安装到指定目录,默认在/usr/local/bin

 redis可执行文件

./redis-benchmark //用于进行redis性能测试的工具
./redis-check-dump //用于修复出问题的dump.rdb文件
./redis-cli //redis的客户端
./redis-server //redis的服务端
./redis-check-aof //用于修复出问题的AOF文件
./redis-sentinel //用于集群管理

4. redis配置文件

  redis配置文件名为 redis.conf 这个文件可以自定义

5. redis核心配置项

绑定ip,如需要远程访问,需要填写服务器ip
bind 127.0.0.1

端口,redis启动端口
port

守护进程方式运行
daemonize yes

rdb数据文件
dbfilename dump.rdb

数据文件存放路径
dir /var/lib/redis/

日志文件
logfile /var/log/redis/redis-server.log

主从复制
slaveof

6. 启动redis服务端

启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件:
./redis-server ../redis.conf
默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。

7.redis数据结构

redis是一种高级的key:value存储系统,其中value支持五种数据类型
字符串(strings)
散列(hashes)
列表(lists)
集合(sets)
有序集合(sorted sets)

8. 基本命令

keys *         查看所有key
type key      查看key类型
expire key seconds    过期时间
ttl key     查看key过期剩余时间        -2表示key已经不存在了
persist     取消key的过期时间   -1表示key存在,没有过期时间

exists key     判断key存在    存在返回1    否则0
del keys     删除key    可以删除多个
dbsize         计算key的数量

9 数据结构

  • strings类型
    • set key value
    • get key
    • mset k1 v1 k2 v2
    • mget k1 v1
    • del k1
    • incr k1
    • decr k1
  • list类型
    • lpush
    • rpush
    • lrange 0 -1
    • ltrim 1 2 : 保留第二个到第三个元素
    • lpop
    • rpop   
    • lpushx/rpushx : 存在则添加值, 不存在则不处理
  • sets集合类型
    • sadd/srem 添加删除元素
    • sismember 判断是否为set的一个元素
    • smembers 返回集合所有成员
    • sdiff 返回一个集合和其他集合的差异
    • sinter 返回几个集合的交集
    • sunion 返回几个集合的冰机
  • 有序集合
    • 用来保存需要排序的数据, 例如排行榜, 成绩, 工资等
    • zadd zoo 10 alex
    • zrange zoo 0 -1 withscores
    • zreverrange zoo 0 -1 withscores 倒叙
    • zrem zoo alex
    • zcard zoo : return long of set
    • zscore zoo alex : 返回成员的score值
    • zrank alex : 返回成员的排名
  • 哈希结构 : k1 -> k2 : v2  ,如同字典套字典 { k1 : { k2 : v2 } }
    • hset  k1 k2 v2
    • hget  k1 k2
    • hmset zhang age  27 sex man
    • hmget zhang age sex
    • hsetnx zhang age 2
    • hkeys zhang : 返回所有keys
    • hvals zhang : 返回所有values
    • hlen : 返回三列包含域 field 的数量
    • hdel  删除三列指定的域 field
    • hexists 判断是否存在
    •   

 

01-14 01:26