美文网首页
Redis 基本操作

Redis 基本操作

作者: 仙灵儿 | 来源:发表于2018-07-21 22:58 被阅读5次

    启动与关闭Redis服务、进入Redis环境

    1.启动Redis服务

    redis-server 拷贝的redis.conf的位置

    redis-server redis6380/redis.conf   启动6380Redis服务

    2.关闭Redis服务

    redis-cli shutdown   # 默认关闭的是本机的6379端口的Redis服务

    全称:

    redis-cli -h 主机地址 -p 要关闭的Redis端口号  shutdown

    redis-cli -h redis6380/redis.conf -p 6380 shutdown

    3.进入Redis客户端环境

    redis-cli -h Redis所在主机地址  -p 6379Redis

    redis-cli -h localhost -p 6381   进入6381的环境

    Redis的全称是Remote Dictionary Server

    Redis是一种基于键值对(key-value)的NoSQL数据库。

    Redis主从复制:

    Redis的主从复制是单向的,只能从master复制数据到slave。

    设置主从关系:

    1. 在从服务器(slave)Redis命令行中直接输入:slaveof master的地址 master的端口号

    2. 在从服务器(slave)的配置文件redis.conf中加入 slaveof master的地址 master的端口号

    切主与断开复制:

    切主操作:

    slaveof master的地址 master的端口号

    slaveof 127.0.0.1 6379 主从复制

    断开复制:

    slaveof no one

    Redis特性

    速度快

    正常情况下,Redis执行命令的速度非常快,官方的数据是读写性能10万/秒。

    速度快的主要原因:

    Redis所有数据都是存放在内存中的;

    Redis是用C语言实现的;

    Redis使用了单线程架构;

    基于键值对的数据结构服务器

    Redis提供了5种基本数据结构:字符串、哈希、列表、集合、有序集合。

    持久化

    虽然Redis的所有数据都是存放在内存中的,但也提供了持久化的功能。

    主从复制

    keys *  查看所有的key

    type key  查看key所对应的value的数据类型

    del key [key1 key2 …]删除key

    expire  key 过期时间(秒)

    ttl key 查看键的剩余过期时间

    一:字符串(string)

    常用命令

    (1)设置值

    set key value [nx|xx]

    注意:nx当key不存在时,才能设置成功

    xx当key存在时,才能设置成功ss

    (2)获取值

    get key

    (3)批量设置值

    mset key value [key value …]

    )批量获取值

    mget key [key …]

    (5) 计数

    incr key

    注意:incr 命令用于对值做自增操作,返回  结 果有三种情况:

    值不是整数,返回错误

    值是整数,返回自增后的结果

    键不存在,按照值为0自增,返回结果为1

    (6) 设置时间期限

    setex a 10 good

    运算:

    incr key   #加1

    decr key    #减1

    incrby a 5  #加5

    decrby a 5   #减5

    (7)其他

    append a b    #在a 追加b

    二:哈希(hash)

    在Redis中,哈希类型是指值本身又是一个键值对结构。

    常用命令

    (1) 设置值

    hset key field value

    hset student name tom

    (2) 获取值

    hget key field

    hget student name

    (3)删除field

    hdel key  field [field …]

    (4)计算field个数

    hlen key

    (5)批量设置或获取field-value

    hmset key field value [field value…]

    hmset student name tom age 20 sex boy score 80

    三:列表

    列表类型用来存储多个有序元素

    常用命令

    (1)从右边插入元素

    rpush key value [value …]

    (2)从左边插入元素

    lpush key value[value…]

    (3)获取指定范围内的元素列表

    lrange key start end(注意:此处包括end索引)

    (4)获取列表指定索引下标的元素

    lindex  key  index

    (5)获取列表长度

    llen  key

    (6) 从列表左侧(右侧)弹出元素

    lpop|rpop key

    (7)删除指定元素

    lrem key count value

    根据count的不同删除元素:

    count>0,从左到右,删除最多count个元素

    count<0,从右到左,删除最多count绝对值    个元素

    count=0 删除所有

    (8)修改指定索引下标的元素

    lset key index newValue

    列表可以组织成栈和队列:

    lpush + lpop = Stack(栈)

    lpush + rpop = Queue(队列)

    四:集合(set)

    集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素

    集合内操作

    (1)添加元素

    sadd key element [element…]

    (2)删除元素

    srem key element[element…]

    (3)计算元素个数

    scard key

    (4)获取所有元素

    smembers key

    (5)随机从集合返回指定个数元素

    srandmember key [count]

    (6)从集合随机弹出元素

    spop key [count]

    注意:从Redis3.2版本开始,才支持[count]参数

    集合间操作

    (1)求多个集合的交集

    sinter key [key…]

    (2)求多个集合的并集

    sunion key [key…]

    (3)求多个集合的差集

    sdiff key [key…]

    五:有序集合

    有序集合保留了集合不能有重复成员的特性,但不同的是,有序集合中的元素可以根据每个成员的分数进行排序

    常用操作

    (1)添加成员

    zadd key score member [score member …]

    (2)计算成员个数

    zcard key

    (3)获取某个成员的分数

    zscore key member

    (4)删除成员

    zrem key member [member…]

    (5)增加成员分数

    zincrby key increment member

    (6)计算成员的排名

    zrank key member   (从低到高)

    zrevrank key member  (从高到低)

    (7)返回指定排名范围的成员

    zrange key start end [withscores]

    zrevrange key start end [withscores]

    (8)返回指定分数范围的成员

    zrangebyscore  key  min max [withscores]

    zrevrangebyscore key max min[withscores]

    (9)返回指定分数范围成员个数

    zcount key min max

    (10)删除指定分数范围的成员

    zremrangebyscore  key  min max

    相关文章

      网友评论

          本文标题:Redis 基本操作

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