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文件放到启动目录即可

凤舞九天
原文地址:https://www.cnblogs.com/ywheunji/p/14320137.html