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