Python系列之Redis--02.Redis与Python操作Redis

原创 2018年04月16日 11:18:49

1 . Redis 简介

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。

  1. 资料
    官网:http://www.redis.net.cn/
    文档:http://redis-py.readthedocs.io/en/latest/
    github:https://github.com/andymccurdy/redis-py
    Pypi:https://pypi.python.org/pypi/redis

2 . Python操作Redis

  1. String字符串操作

        """
    set  -- 设置值
    get -- 获取值
    mset  -- 设置多个键值对
    mget  -- 获取多个键值对
    append -- 添加字符串
    del -- 删除
    incr/decr   -- 增加/减少 1
    
    class TestString(object):
    
    # 初始化的时候连接Redis
    
        def __init__(self):
            self.r = redis.StrictRedis( 
                            host='localhost', 
                            port=6379,  
                            db=0)
    
    
    # 新增
    
    def test_set(self):
        rest = self.r.set('user2', 'amy')
        print(rest)
    
    
    # 查询
    
    def test_get(self):
        rest = self.r.get('user4')
        print(rest)
        return rest
    
    
    # 批量新增
    
    def test_mset(self):
        # 字典类型  key-value
        d = {
            'user3': 'bob',
            'user4': 'box'
        }
        rest = self.r.mset(d)
        print(rest)
    
    
    # 批量查询
    
    def test_mget(self):
        # list列表类型 key,key
        d = [
            'user3',
            'user4'
        ]
        rest = self.r.mget(d)
        print(rest)
        return rest
    
    
    # 删除
    
    def test_del(self):
        rest = self.r.delete('user4')
        print(rest)
    
  2. List类型操作

     class TestList(object):
    """
    lpush/rpush  -- 从左/右插入数据
    lrange -- 获取指定长度的数据
    ltrim -- 截取一定长度的数据
    lpop/rpop --移除最左/右的元素并返回
    lpushx/rpushx -- key存在的时候才插入数据,不存在时不做任何处理
    
    """
    
    def __init__(self):
        self.r = redis.Redis(host='localhost', port=6379, db=0)
    
    def test_push(self):
        ''' lpush/rpush  -- 从左/右插入数据 '''
        t = ['Amy', 'Jhon']
        rest = self.r.lpush('l_eat3', *t)
        print(rest)
        rest = self.r.lrange('l_eat3', 0, -1)
        print(rest)
    
    def test_pop(self):
        ''' lpop/rpop --移除最左/右的元素并返回 '''
        rest = self.r.lpop('l_eat3')
        print(rest)
        rest = self.r.lrange('l_eat3', 0, -1)
        print(rest)
  3. Hash类型操作

     class TestHash(Base):
     '''Base函数为连接数据库的类,封装为一个类就不用一直写了'''
    """
    hset/hget --设置/获取散列值
    hmset/hmget -- 设置/获取多对散列值
    hsetnx -- 如果散列已经存在,则不设置
    hkeys/hvals -- 返回所有Keys/Values
    hlen -- 返回散列包含域(field)的数量
    hdel -- 删除散列指定的域(field)
    hexists -- 判断是否存在
    """
    
    def test_set(self):
        ''' hset/hget --设置/获取散列值 '''
        rest = self.r.hset('stu:xxx02', 'name', 'Jhon')
        print(rest)
        rest = self.r.hexists('stu:xxx02', 'name')
        print(rest)
        rest = self.r.hget('stu:xxx02', 'name')
        print(rest)
    
    def test_mset(self):
        ''' hmset/hmget -- 设置/获取多对散列值 '''
        m = {
            'name': 'Bob',
            'age': 21,
            'grade': 98
        }
        rest = self.r.hmset('stu:xxx03', m)
        print(rest)
        rest = self.r.hkeys('stu:xxx03')
        print(rest)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/prospective0821/article/details/79958016

redis 实战系列二:用python操作redis集群

python是搞数据同学的不二选择。因此面对redis集群,自然就想到怎么用python去操作redis集群了。1.python的redis模块无法操作redis集群之前用python里的redis模...
  • bitcarmanlee
  • bitcarmanlee
  • 2016-07-07 16:14:53
  • 13430

python连接redis3.x集群并做操作

notes------- (1)redis3.x集群模式操作需要List of all supported python versions.2.7/3.2/3.3/3.4.1+/3.5...
  • offbeatmine
  • offbeatmine
  • 2016-03-15 21:46:03
  • 1483

python2.7 操作 redis 的基本方法

pip install redis基本操作#encoding=utf-8 import redis #链接redis数据库 r = redis.Redis(host = 'localhos...
  • HeatDeath
  • HeatDeath
  • 2017-06-01 15:40:33
  • 913

Redis-cluster集群傻瓜配置+Python操作集群小demo

Redis-cluster傻瓜配置以及python操纵的小demo
  • XiyouLinux_Kangyijie
  • XiyouLinux_Kangyijie
  • 2017-04-30 12:32:24
  • 3409

Python操作Redis的小示例

  • 2013年10月06日 19:15
  • 1KB
  • 下载

windows 下安装redis 并用python操作redis

  • 2012年03月23日 00:32
  • 626KB
  • 下载

python操作redis操作方法实例

转载自:https://www.cnblogs.com/cnkai/p/7642787.html 作者写的非常全 连接数据库 StrictRedis ``` from redis im...
  • weixin_40596016
  • weixin_40596016
  • 2017-12-19 15:33:42
  • 324

用python和redis交互操作

 Python3之redis使用 简介   redis是一个key-value存储系统,和Memcache类似,它支持存储的value类型相对更多,包括string(字符串),l...
  • baidu_28367801
  • baidu_28367801
  • 2018-01-10 15:53:45
  • 221

Redis数据库入门与python操作redis实战

redis是基于内存的key-value数据库,比传统的关系型数据库在性能方面有非常大的优势。,利用Redis可以解决高并发的数据访问问题,同时Redis又可以与许多的集群架构进行整合处理。通过学习python操作redis数据库,同学们能够掌握使用redis
  • 2018年01月23日 11:56
收藏助手
不良信息举报
您举报文章:Python系列之Redis--02.Redis与Python操作Redis
举报原因:
原因补充:

(最多只允许输入30个字)