美文网首页Redis我爱编程
redis常用操作及语句

redis常用操作及语句

作者: 一缕白衣 | 来源:发表于2016-06-12 13:13 被阅读1642次

    nosql系列之redis

       特点:

           1)并发写入

           2)从海量数据查找某一条数据记录

           3)高扩展性和高可用性

       redis和mongodb的区别

           redis

               基于缓存,资格老,支持多种数据结构,消耗内存较多,支持数万QPS,支持持久化存储

           memcache

               速度快,不能备份,响应速度快,支持十几万的QPS,bug较少

           mongodb基于文件

               社区活跃,查询功能强大,更新快,支持索引文档类数据库,最接近关系式数据库,结构相对单一

       redis        --    通过键值存储数据

       安装

       make

       make    test        -- 如果报错,则安装tcl

       make    PERFIX=/usr/local/redis    install

       cp    /usr/src/redis-3.0.3/redis.conf    /usr/local/redis

       ./bin/redis-server    ./redis.conf        -- 开启redis服务

       vim    redis.conf

       daemonize    yes        --放在后台选项

       ./bin/redis-cli    -h    localhost    -p    6379

       bin/下的文件

       redis-check-aof    redis-check-dump        -- 日志文件

       redis-benchmark        -- 检测工具

       ./redis-benchmark    -n    100000    -c    60

       string字符串类型

       keys    *        --查看所有键值

       set    age    19        --设置键值的数据

       get    age            --查看键值的数据

       keys    age        --查看键值本身

       setnx    name1    zhangsan        --防覆盖新建键值

       setex    name2    30    Janni        --新建或修改临时键值,有效时间30s

       ttl    name2        --查看键值的有效期

       mset    a1    111    a2    222    a3    333        --设置多个键值

       mget    a1    a2    a3        --查看多个键值

       msetnx    a3    444    a4    555        --创建多个防覆盖机制键值

       setrange    a3    2    lisi        --替换,从第二个字符开始

       getset    a3    "xxx"        --查看原值并修改

       getrange    a3    0  5        --查看a3键值的0-5之间的字符

       incr    c1        --键值依次增加1

       incrby    c1    100        --键值依次增加100,值可自定义

       decr    c1        --键值依次减少1

       decrby    c1    100        --键值依次减少100,值可自定义

       strlen    b1        --查看键值的长度

       append    b1    lisi        --追加键值的数据

       del    b1        --删除键值

       hash类型

       hset    hash1    name1    hanhan        --创建第一组数据

                      键        字段           键值

       hget    hash1    name1        --查第一组的第一个字段

       hsetnx    hash1    name1    Janni        --防覆盖创建

       hmset    hash1    name1    name2        --创建多个字段

       hmget    hash1    name1    name2        --查看多个字段

       hlen    hash1            --查字段个数

       hgetall    hash1        --查指定键中的字段和值

       hkeys    hash1        --查指定键中的字段名称

       hvals    hash1        --查指定键中的数值

       hdel    hash1    name3        --删除指定键中的字段

       hincrby    hash1    id1    5        --hash1键中的id1字段每次增加5

       list双向列表

       1    2    3    4    5                   正数下标

     -5    -4    -3    -2    -1              负数下标

    lpush    list1    1    2    3    4        --创建队列向左

    rpush    list1    one    two    three        --创建队列向右

    lrange    list1    0    -1            --查list1中所有的队列

    linsert    list1    before    two    hi        --在list1列表中的two前面插入hi队列    (before | after)

    lset    list1    1    “six”        --修改队列中元素的值

    lrem    list1    -2    hi        --删除元素中重复的值,其中-2代表几个 ,并且是倒序的

    ltrim    list1    0    3        --保留list1上以下标为主的0-3的队列

    lpop    list2         --删左边第一个

    rpop    list2        --删右边第一个

    rpoplpush    list1    list2        --把list1的最后一个元素放到list2中

    llen    list2    查有多少个队列

    lindex    list2    1        --通过下标查看元素值

       set集合

       交集        差集        并集

    sadd    set1    aa    bb    cc        --添加set集合

    smembers    set1        --查看集合中所有的元素

    srandmember    set1        --随机查看

    spop    set1        --随机删除

    srem    set1        --指定删除

    scard    set1        --查看该集合有多少个元素

    sismember    set1    bb        --查看bb是否属于set1集合的元素

    sdiff    set1    set2        --查看set1和set2的差集

    sdiffstore    set3    set1    set2        --查看set1和set2的差集,并写入到set3

    sinter    set1    set2        --查看set1和set2的交集

    sinterstore    set3    set1    set2        --查看set1和set2的交集,并写入到set3

    sunion    set1    set2        --查看set1和set2的并集

    sunionstore    set3    set1    set2        --查看set1和set2的交集,并写入到set3

       zset有序集合    sorted    set

    zadd    zset1    11    aa    22    bb    33    cc        --创建有序集合

    zrange    zset1    0  -1    withscores       --查看有序集合,withscores参数是查看有序集合的分数    从小到大的顺序

    zrevrange    zset1    0  -1    withscores        --查看有序集合,从大到小的顺序

    zrangebyscore    zset1    10    20        --查有序集合zset1中分数10-20之间的元素

    zrem    zset1    aa        --删除有序集合中指定的值

    zincrby    zset1    5    aa        --有序集合zset1中aa的值依次增加5,如不存在,则创建

    zrank    zset1    aa        --通过元素名获取下标,从小到大的顺序

    zrevrange    zset1    aa        --通过元素名称获取下标,从大到小的顺序

    zcard    zset1        --查看zset1中有几个元素

    zcount    zset1    10  20    --查看zset1中10-20之间的有多少个元素

    zremrangeburank    zset1    1  2        --根据下标删除数据

    zremrangebyscore    zset1    10    22        --根据分数删除数据

    zinterstore    zset3    2    zset1    zset2        --取2个有序集合的交集,并保存到zset3

    zunionstore    zset3    zset3    2    zset1    zset2        --取2个有序集合的并集,并保存到zert3

       全局命令

    dbsize        --统计所有键值的数量

    exists    aa        --查看某个键值是否存在

    expire        设置生效时间

    rename    d1    d2    --改键值的名称,d1改为d2

    type    a1        --查a1键值的类型

    info        --查数据库版本信息

    select    2        --选择其它数据库    范围(0-15)

    more    d2    1        --移动键值到某数据库

    flushdb        --清空当前数据库

    flushdball        清空所有数据库

       redis应用

    启用密码:

       vim    /usr/local/redis/redis.conf

       requirepass    123456

    关闭服务:

       pkill    redis

    使用密码登陆:

       /usr/local/redis/bin/redis-server    /usr/local/redis/redis.conf        开启服务

       /usr/local/redis/bin/redis-cli    -h   localhost   -p   6379        登陆redis

    数据库备份和还原

       备份:

       save    保存到dump.rdb文件

       cp -p  /usr/local/redis/dump.rdb  /root            把备份文件拷贝到/root下

       还原:

       cp -p /root/dump.rdb  /usr/local/redis

       设置备份文件的路径:

       vim    redis.conf

       dir    /usr/local/redis

    设置主从

       cp    -r    redis    redis-slave

       修改主配置文件的参数,不要和主服务器的相同

       vim    redis-slave/redis.conf

       pidfile    /usr/local/redis-slave/redis.pid

       port    6380

       dir    /usr/local/redis-slave        --指定备份的目录

       slaveof    127.0.0.1    6379        --主服务器的IP地址和端口

       masterath    123456            --有密码则开启

    原理:

    (1)Slave服务器连接到Master服务器.

    (2)Slave服务器发送SYCN命令.

    (3)Master服务器备份数据库到.rdb文件.

    (4)Master服务器把.rdb文件传输给Slave服务器.

    (5)Slave服务器把.rdb文件数据导入到数据库中.

       开启从服务器的redis进程:

       /usr/local/redis-slave/bin/redis-server    /usr/local/redis/redis.conf

       登陆redis:

       /usr/local/redis-slave/bin/redis-cli    -h    localhost   -p    6380    -a    123456

    相关文章

      网友评论

        本文标题:redis常用操作及语句

        本文链接:https://www.haomeiwen.com/subject/pzmedttx.html