redis常用操作及语句

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

    原文作者:一缕白衣
    原文地址: https://www.jianshu.com/p/39531ecd4286
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞