zoukankan      html  css  js  c++  java
  • redis常用操作命令

    redis常用操作命令

    redis简介

    redis是一个高性能的key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。

    redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。

    启动

    服务器端:

    进入redis目录(或者添加到path)

    redis-server  #启动服务命令

    客户端:

    redis-cli #进入命令
    ping #测试命令

    数据操作

    redis是key-value的数据结构,每条数据都是一个键值对

    的类型是字符串,注意:键不能重复

    的类型分为五种:字符串string、哈希hash、列表list、集合set、有序集合zset

    键命令

    key pattern         #查找键,pattern可以是正则表达式
    keys *              #查看所有键
    keys '*a*'          #查看名字包含a的键
    exists key'         #判断键是否存在
    type  key           #查看键类型
    del key             #删除键及值,对于每种类型的键均可使用
    expire key seconds  #设置过期时间
    ttl key             #查看有效时间

    String

    键值均为string

    增加、修改

    set key value                     #设置键值  set 'you' 'wh'
    setex key seconds value           #设置过期时间 set 'you' 2 'wh'
    mset 'you1' 'wh1' 'you2' 'wh2'    #设置多个键值
    append key value                  #追加值,向键追加值

    获取

    get key        #获取键值
    mget key1 key2 #获取多个键值

    hash

    存储对象的结构为  属性 值, 值类型为string

    增加、修改

    hset key field value                #设置单个属性,键 属性 值
    hmset key field1 val1 field2 val2   #多个

    获取

    hkeys key                 #获取键的所有属性
    hget key field            #获取键某个属性的值
    hmget key field1 field2   #获取多个属性的值
    hvals key                 #获取所有属性的值

    删除

    hdel key field1 field2    #删除属性

     list

    列表元素类型为string

    增加

    lpush key val1 val2       #从左侧插入列表
    rpush key val1 val2       #右侧
    linsert key before/after  列表已有元素  插入元素       #指定元素附近插入

    获取

    lrange key start stop   #以索引方式获取

    修改

    lset key index value   #索引访问

    删除

    lrem key count value       #将列表中前count次出现的val删掉

    set

    无序集合,元素为string类型,具有唯一性,无修改操作

    sadd key val1 val2   #添加
    smembers keys        #获取值所有元素
    srem key val1        #删除指定元素

    zset 

    有序集合,元素为string类型,唯一性不重复,无修改操作

    每个元素关联一个权重分数,通过分数将元素排序

    zadd key score1 val1 score2 val2  #增加
    zrange key start stop             #获取区间元素
    zrangebyscore key min max         #获取在区间分数之间的元素
    zscore key val                    #返回值的权重
    zrem key val1 val2                #删除指定元素
    zremrangebyscore key min max      #删除区间分数之间的元素

    在python中与redis进行交互

    安装并引入redis包

    pip install redis
    from redis import *

    主要利用StrictRedis对象  连接redis服务器,按照不同类型键值,进行交互

    以String类型的键举例,都是按照上面各种键的命令进行操作,其他类型类似

    需要注意sr对象的删除方法是delete ,与键命令中del不同

    #coding=utf-8
    from redis import *
    
    if __name__=="__main__":
        try:
            #创建StrictRedis对象,与redis服务器建立连接
            sr=StrictRedis()
    
            #添加、获取、修改、删除
            result1 = sr.set('you','wh')
            result2 = sr.get('you') 
            result3 = sr.set('you','wh2)
            result4 = sr.delete('you')  
        
            result5 = sr.keys()   #获取所有键
            #输出响应结果,如果添加成功则返回True,否则返回False
            print(result)
        except Exception as e:
            print(e)        

     另外一种常用的连接方式:

    import redis
    # 普通连接
    conn = redis.Redis(host="192.168.23.166", port=6379,password="123456")
    conn.set("world","hello") # 添加键值
    val = conn.get("world")
    print(val)

    备份与恢复

    使用save命令备份,以dump.rdb文件存储在redis的启动目录里

    恢复时只需把rdb文件放到启动目录即可

    凤舞九天
  • 相关阅读:
    HDU 2236 无题II
    P2220 [HAOI2012]容易题
    UVA11383 Golden Tiger Claw
    AT2272 [ARC066B] Xor Sum
    CentOS7 静默安装oracle12c
    SNAT与DNAT
    Linux下离线安装Docker
    TJOI2017 DNA 和 BJOI2015 隐身术
    LOJ6169 相似序列
    BJOI2019 删数
  • 原文地址:https://www.cnblogs.com/ywheunji/p/14320137.html
Copyright © 2011-2022 走看看