[ecmagent][redis学习][1初识redis] python操作redis

#1 连接redis

# 连接redis

    -- import redis

    -- 使用端口连接redis
conn = redis.Redis(host="127.0.0.1", port=) -- 使用套接字连接
r = redis.Redis(unix_socket_path='/tmp/redis.sock') -- 使用连接池连接到redis
>>> pool = redis.ConnectionPool(host='192.168.56.100', port=)
>>> conn = redis.Redis(connection_pool=pool) -- 写入一条字符串数据
conn.set("ranking:category", "hello")

#2 string api

# string api
set(name, value, ex=None, px=None, nx=False, xx=False)
-- ex expire过期时间,秒
-- px 过期时间毫秒
-- nx 如果设置为True,则只有name不存在时,当前set操作才执行 conn.set('k1', 'v1', ex=, nx=True) setex(name, value, time)
-- 设置过期时间,秒 psetex(name, time_ms, value)
-- 设置过期时间毫秒 mset(*args, **kwargs)
-- 同时设置多个key/value
-- conn.mset({'k1':'v1', 'k1':'v1'}) get(name)
-- 获取单个值
-- conn.get('k1') mget(keys, *args)
-- 获取多个值
mget('k1','k2')
-- mget(['k1','k2']) getrange(key, start, end)
-- 切片获取
-- conn.getrange('key', , ) incr(name, amount=)
-- 对name的value进行自增;name不存在则创建,否则自增 incrbyfloat(name, amount=1.0)
-- 浮点数的自增 decr(name, amount=)
-- 自减 append(key,value)
-- 往字符串后面拼接
>>> conn.set('blog','https://blog.ansheng.me')
True
>>> conn.append('blog','/') >>> conn.get('blog')
b'https://blog.ansheng.me/'

#3 hash api

# hash api

    hset(name, key, value)

        -- 设置name的键值对,有则修改,没有则创建
-- conn.hset('dic','k1','v1')
hmset(name, mapping)
-- 设置name的多个键值对
-- conn.hmset('student', {'name':'lzp', 'age':}) hget(name,key)
-- 获取name中某个key的值
-- conn.hget('dic','k2') hmget(name,keys,*args)
-- 获取name中多个key的值
-- conn.hmget('dic', ['k1','k2'])
-- conn.hmget('dic','k1','k2') hgetall(name)
-- 获取name中所有key的值
-- conn.hgetall('dic') hkeys(name)
-- 获取name中所有的key hvals(name)
-- 获取name中所有的values hincrby(name, key, amount=)
-- 对name中key的value值进行自增
-- conn.hincrby('dic','number',) hscan(name, cursor=, match=None, count=None)
-- 增量式迭代获取,hscan可以实现分片的获取数据,并非一次性将数据全部获取完,从而放置内存被撑爆 参数 描述
name redis的name
cursor 游标(基于游标分批取获取数据)
match 匹配指定key,默认None 表示所有的key
count 每次分片最少获取个数,默认None表示采用Redis的默认分片个数 hscan_iter(name, match=None, count=None) -- 利用yield封装hscan创建生成器,实现分批去redis中获取数据 match 匹配指定key,默认None 表示所有的key
count 每次分片最少获取个数,默认None表示采用Redis的默认分片个数
-- for item in r.hscan_iter('xx'):
print(item) expire(name,time)
-- 设置过期时间

#4 list api

上一篇:onclick或者其他事件在部分移动端无效的问题


下一篇:Java 使用Jedis和RedisTemplate操作Redis缓存(SpringBoot)