reids

1. NoSQL

1.1 NoSQL是什么

  • 泛指非关系型的数据库
  • 不适用于SQL语法
  • 存储形式是键值对(key,value)
  • 每种nosql数据库都有本身的语法和api,及擅长的领域

1.2 redis的特性

  1. Redis 与其余 key - value 缓存产品有如下三个特色:
  2. Redis支持数据的持久化,能够将内存中的数据保存在磁盘中,重启的时候能够再次加载进行使用。
  3. Redis不单单支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  4. Redis支持数据的备份,即master-slave模式的数据备份。

1.3 Redis的优点

  • 性能极高,读写速度极快
  • 丰富的数据类型
  • Redis的全部操做都是原子性
  • 丰富的特性

2. Redis数据库的操做

  • 服务器端的命令为:redis-server
  • 客户端的命令为:redis-cli
  • 可使--help查看帮助文档:redis-cli --help
  • 链接redis:redis-cli
  • 切换数据库:select num

2.1 string类型

  1. 值命令
  • 设置键值:set key value
  • 设置键值及过时时间,以秒为单位:setex key seconds value
  • 设置多个键值:mset key1 value1 key2 value2 ...
  • 追加值:append key value
  • 根据键获取值,若是不存在此键则返回nil:get key
  • 根据多个键获取多个值:mget key1 key2 ..
  1. 键命令
  • 查找键,参数支持正则表达式:keys pattern
  • 判断键是否存在,若是存在返回1,不存在返回0:exists key1
  • 查看键对应的value的类型:type key
  • 删除键及对应的值:del key1 key2 ...
  • 若是没有指定过时时间则一直存在,直到使用DEL移除:expire key seconds
  • 查看有效时间,以秒为单位:ttl key

2.2 hash类型

  • 设置单个属性:hset key field value
  • 设置多个属性:hmset key field1 value1 field2 value2 ...
  • 获取指定键全部的属性:hkeys key
  • 获取单个属性的值:hget key field
  • 获取多个属性的值:hmget key field1 field2 ...
  • 获取全部属性的值:hvals key
  • 删除属性,属性对应的值会被一块儿删除:hdel key field1 field2 ...

2.3 zset类型

  • 添加:zadd key score1 member1 score2 member2 ...
  • start、stop为元素的下标索引,索引从左侧开始,第1个元素为0,索引能够是负数,表示从尾部开始计数,如-1表示最后一个元素:zrange key start stop
  • 返回score值在min和max之间的成员:zrangebyscore key min max
  • 返回成员member的score值:zscore key member
  • 删除指定元素:zrem key member1 member2 ...
  • 删除权重在指定范围的元素:zremrangebyscore key min max

3. Redis与python的交互

  1. 经过init建立对象,指定参数host、port与指定的服务器和端⼝链接,host默认为localhost,port默认为6379,db默认为0
  2. 根据不一样的类型,拥有不一样的实例方法能够调用,与前⾯学的redis命令对应,⽅法须要的参数与命令的参数一致
sr = StrictRedis(host='localhost', port=6379, db=0)

简写
sr=StrictRedis()
复制代码

string

  • setpython

  • setex正则表达式

  • msetredis

  • appendsql

  • get数据库

  • mgetapi

  • key缓存

  • keys服务器

  • exists数据结构

  • typeapp

  • delete

  • expire

  • getrange

  • ttl

hash

  • hset
  • hmset
  • hkeys
  • hget
  • hmget
  • hvals
  • hdel

list

  • lpush
  • rpush
  • linsert
  • lrange
  • lset
  • lrem

set

  • sadd
  • smembers
  • srem

zset

  • zadd
  • zrange
  • zrangebyscore
  • zscore
  • zrem
  • zremrangebyscore

连接Redis,实现增删改查等命令

from redis import *
if __name__=="__main__":
    try:
        #建立StrictRedis对象,与redis服务器建⽴链接
        sr=StrictRedis()

    except Exception as e:
        print(e)
复制代码
相关文章
相关标签/搜索