redis学习二:pycharm连接redis实现简单功能

redis学习二:pycharm连接redis实现简单功能

一、使用python连接redis
1.下载redis包
redis学习二:pycharm连接redis实现简单功能_第1张图片
2.连接
2.1简单连接

import redis
r = redis.Redis(host='192.168.192.130',password='no', port=6379, db=0)

2.2连接池连接(可以减少频繁的连接、断开数据库的开销)

import redis
  try:
    pool = redis.ConnectionPool(host='192.168.192.130', password='no', port=6379, db=3)
    print("connected success.")
  except:
    print("could not connect to redis.")
    r = redis.Redis(connection_pool=pool)

3.简单操作
3.1字符串操作
redis学习二:pycharm连接redis实现简单功能_第2张图片
注:b代表输出二进制
3.2列表操作
redis学习二:pycharm连接redis实现简单功能_第3张图片
3.3集合操作
redis学习二:pycharm连接redis实现简单功能_第4张图片
4.实现增删查改功能(字符串、列表、集合)

import redis
# 连接redis
class StringTest(object):
    def __init__(self):
        self.r = redis.StrictRedis(host='192.168.192.130', port=6379, db=2, password='no')

    def test_set(self):
        ''' set -- 设置值 '''
        rest = self.r.set('name2', 'zhang')
        print(rest)
        return rest

    def test_get(self):
        '''get -- 获取值'''
        rest = self.r.get('name2')
        print(rest)
        return rest

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

    def test_mget(self):
        ''' mset -- 设置多个键值对 '''
        d = ['name3', 'name4']
        rest = self.r.mget(d)
        print(rest)
        return rest

    def test_del(self):
        ''' del删除键值 '''
        rest = self.r.delete('name3')
        print(rest)

    def test_renamenx(self):
        ''' renamenx修改key值 '''
        rest=self.r.renamenx('name4','name5')
        print(rest)
        return rest

    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)

    def test_rpush(self):
        ''' rpush插入一个或多个值再列表中'''
        x=['fruit','apple']
        rest = self.r.rpush('l_eat3',*x)
        print(rest)
        rest = self.r.lrange('l_eat3', 0, -1)
        print(rest)

class SetTest(StringTest):
    def test_sadd(self):
        ''' sadd --添加元素 '''
        l = ['cat', 'dog', 'monkey']
        rest = self.r.sadd('zoo2', *l)
        print(rest)
        rest = self.r.smembers('zoo2')
        print(rest)

    def test_srem(self):
        ''' srem -- 删除元素 '''
        rest = self.r.srem('zoo2', 'monkey')
        print(rest)
        rest = self.r.smembers('zoo2')
        print(rest)

    def test_sinter(self):
        ''' sinter --返回元素的交集 '''
        rest = self.r.sinter('zoo2', 'zoo1')
        print(rest)


def main():
    st = StringTest()
    st.test_set()
    st.test_get()
    st.test_mset()
    st.test_mget()
    st.test_del()
    st.test_renamenx()
    st.test_push()
    st.test_pop()
    st.test_rpush()

    set_test = SetTest()
    set_test.test_sadd()
    set_test.test_srem()
    set_test.test_sinter()


if __name__ == "__main__":
    main()

结果如下:
redis学习二:pycharm连接redis实现简单功能_第5张图片
redis学习二:pycharm连接redis实现简单功能_第6张图片

你可能感兴趣的:(数据库)