一、redis参考资料:

1、官网:http://www.redis.cn/commands/incr.html

2、中国用户组论坛:http://bbs.redis.cn/forum.php

3、武佩奇博客:https://www.cnblogs.com/wupeiqi/articles/5132791.html

 二、redis其他类型

(一)list

具体操作方法见上述资料,其中需要注意:

# 由于redis类库中没有提供对列表元素的增量迭代,如果想要循环name对应的列表的所有元素,那么就需要:
    # 1、获取name对应的所有列表
    # 2、循环列表
# 但是,如果列表非常大,那么就有可能在第一步时就将程序的内容撑爆,所有有必要自定义一个增量迭代的功能:
 
def list_iter(name):
    """
    自定义redis列表增量迭代
    :param name: redis中的name,即:迭代name对应的列表
    :return: yield 返回 列表元素
    """
    list_count = r.llen(name)
    for index in xrange(list_count):
        yield r.lindex(name, index)
 
# 使用
for item in list_iter('pp'):
    print item

 (二)set

set是不重复元素的列表,其中的具体用法与list有些许不同,如:

1、添加:sadd(name,*args)

2、获取:smembers(name)

3、长度:scard(name)

(三)zset

即sorted set,它是有序集合,在集合的基础上,为每一个元素排序,

元素的排序需要另外的一个值来进行比较,所以,对于有序集合每一个元素有两个值,即:值和分数,分数专门用来做排序,

三、其他操作

redis除了对其中各种不同类型的值有具体操作,对于redis的各个整体,也有相应的一些操作:

1、删除指定key:delete

2、获取全部keys:keys

3、查看指定key是否存在:exists

4、查看指定key的类型:type

5、给指定key重命名:rename

6、给指定key设置超时时间:expire

7、随机获取一个key:randomkey

8、将redis转移至指定db下:move

9、迭代扫描键值,返回部分:scan

10、逐个扫描:scan_iter

 r.set('str_k','val_str')
        # r.mset(k1='v1',k2='v2',k3='k3',)
        # r.mset({'k4':'v4','k5':'v5',})
        #
        # r.hset('hash_name','hash_k','hash_v')
        # r.hmset('hash_name',{'k4':'v4','k5':'v5',})
        #
        # ret = r.keys()      # 获取全部keys
        # #[b'k1', b'k2', b'k6', b'lili', b'hash_name', b'k5', b'goo', b'k4', b'dict1', b'key', b'k3', b'num', b'n1', b'user', b'name', b'str_k', b'foo']
        #
        # r.delete('hash_name','goo','dict1')   # 删除指定keys
        # # [b'k1', b'k2', b'k6', b'lili', b'k5', b'k4', b'key', b'k3', b'num', b'n1', b'user', b'name', b'str_k', b'foo']

        # print(r.exists('key'))          # 存在返回True
        # print(r.exists('keys'))         # 不存在返回False

        # r.expire('num',5)       # 设置超时时间

        # r.rename('str_k','rename')  # 重新命名

        # print(r.randomkey())        # 随机获取一个key

        # print(r.type('user'))       # b'string'
        # print(r.type('hash_name'))  # b'hash'

        print(r.keys())
        n_cursor1,data1 = r.scan()
        print(n_cursor1,data1)
        n_cursor2,data2 = r.scan(cursor=n_cursor1)
        print(n_cursor2,data2)
        n_cursor3,data3 = r.scan(cursor=n_cursor2)
        print(n_cursor3,data3)

        print('------------------------')
        for item in r.scan_iter():
            print(item)
else oper