Python 操作redis 常用方法

Python 操作redis

1.字符串

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import redis


# python 操作str
class TestString(object):
    """
    set --设置值
    get --获取值
    mset --设置多个键值对
    mget --获取多个键值对
    append --添加字符串
    del --删除
    incr/decr -- 增加/减少 1
    """

    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
        return rest

    def test_get(self):
        rest = self.r.get('user2')
        print rest
        return rest

    def test_mset(self):
        """
        mset --设置多个键值对
        :return:
        """
        d = {
            'user1': 'XH',
            'user3': 'Bob',
            'user4': 'Bobx'
        }
        rest = self.r.mset(d)
        print rest
        return rest

    def test_mget(self):
        """
        mget --获取多个键值对
        :return:
        """
        l = ['user1','user2','user3','user4','user6']
        rest = self.r.mget(l)
        print rest
        return rest

    def test_del(self):
        """
        del 删除
        :return:
        """
        rest = self.r.delete('user1')
        print rest
        return rest


def main():
    str_obj = TestString()
    str_obj.test_set()
    str_obj.test_get()
    str_obj.test_mset()
    str_obj.test_mget()
    str_obj.test_del()



if __name__ == '__main__':
    main()

 

2.列表 

class TestList(object):
    """
    lpush/rpush --从左/右插入数据
    lrange -- 获取指定长度的数据
    ltrim -- 截取一定长度的数据
    lpop/rpop -- 移除最左/右的元素并返回
    lpushx/rpushx -- key存在的时候才插入数据,不存在不做任何处理
    """

    def __init__(self):
        self.r = redis.StrictRedis(host='localhost', port=6379, db=0)

    def test_push(self):
        """
        lpush/rpush --从左/右插入数据
        lrange -- 获取指定长度的数据
        :return:
        """
        t = ('Amy', 'Jhon')
        reset = self.r.lpush('l_eat2', *t)
        print reset
        reset = self.r.lrange('l_eat2', 0, -1)
        print reset

    def test_pop(self):
        """
        lpop/rpop -- 移除最左/右的元素并返回
        :return:
        """
        rest = self.r.lpop('l_eat2')
        print rest

        reset = self.r.lrange('l_eat2', 0, -1)
        print reset


def main():
    # list
    list_obj = TestList()
    #list_obj.test_push()
    list_obj.test_pop()


if __name__ == '__main__':
    main()

 

3.集合

class TestSet(Base):
    """
    sadd/srem --添加/删除元素
    sismember --判断是否为set的一个元素
    smembers --返回该集合的所有成员
    sdiff --返回一个集合与其他集合的差异
    sinter --返回几个集合的交集
    sunion --返回几个集合的并集
    """
    def test_sadd(self):
        """
        sadd/srem --添加/删除元素
        :return:
        """
        l = ['Cats', 'Dogs']
        rest = self.r.sadd('zoo3', *l)
        print rest
        rest = self.r.smembers('zoo3')
        print rest

    def test_srem(self):
        """
        sadd/srem --添加/删除元素
        :return:
        """
        rest = self.r.srem('zoo2','Dogs')
        print rest
        rest = self.r.smembers('zoo2')
        print rest

    def test_sinter(self):
        """
        sinter --返回几个集合对象的交集
        sunion --返回几个集合对象的并集
        :return:
        """
        rest = self.r.sunion('zoo2', 'zoo3')
        print rest
        rest = self.r.sinter('zoo2','zoo3')
        print rest


def main():
    test_obj = TestSet()
    test_obj.test_sadd()
    test_obj.test_srem()
    test_obj.test_sinter()

if __name__ == '__main__':
    main()

 

4.散列

class TestHash(Base):
    """
    hset/hget --设置/获取散列值
    hmset/hmget --设置/获取多对散列值
    hsetnx --如果散列已经存在,则不设置
    hkeys/hvals --返回所有Keys/Values
    hlen -- 返回散列包含域
    """

    def test_set(self):
        """
        hset/hget --设置/获取散列值
        :return:
        """
        reset = self.r.hset('stu:xxx01','name','Amy')
        print reset
        reset = self.r.hexists('stu:xxx01','name')
        print reset
        reset = self.r.hget('stu:xxx01','name')
        print reset

    def test_mset(self):
        """
        hmset/hmget --设置/获取多对散列值
        :return:
        """
        m = {
            'name':'Bob',
            'age':21,
            'grade':98
        }
        rest = self.r.hmset('stu:xxx03',m)
        print rest
        rest = self.r.hkeys('stu:xxx03')
        print rest
        

def main():
    hash_obj = TestHash()
    hash_obj.test_set()
    hash_obj.test_mset()

if __name__ == '__main__':
    main()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值