redis 增删查改常用操作
Posted 初出茅庐的菜鸡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 增删查改常用操作相关的知识,希望对你有一定的参考价值。
登录 redis-cli.exe -h 127.0.0.1 -p 6379
和python关联
r=redis.Redis(host=\'127.0.0.1\',port=6379)
连接池的设置
pool =redis.ConnectionPool(host=\'127.0.0.1\',port=6379)
r=redis.Redis(connection_pool=pool)
进行字符串的操作
set(name,value,ex,px,nx,xx) #nx 当name不存在时才设置,xx当name存在时才设置。
也可以写成setnx() psetnx()
mset()#批量设置
getset 设置新的值并获取原来的值。
getrange 通过切片操作获取
setrange 切片设置
setbit (name,offset,value)将值转换为二进制后,更改,再返回更改后的值
getbit 获取值在二进制情况下某一位的0、1值。
bitcout(name,start=none,end=none)切片统计二进制中1的个数,默认全切
incr整数自增1
incrbyfloat 自增一个小数,小数自己设置。
decr 自减1
append 在name 后面追加内容
hash操作 #hash操作类似于字典一样 通过键值对进行操作
hset(name,key,value)格式{name{key:value}}
hmset 多个键值对一起存储
hget (name,key) 在name下通过key获取value
hlen 有多少个键值对
hkeys 获取name中所有的key的值
hvals 所有value的值
hexists 判断key是否在value里
hincrby (name,key)key自增1
hscan (name,0,match= ,count=)模糊查找过滤,可以设置过滤的上限。
list操作
lpush join a value to list 且添加在最左端
lpushx (name,value) 在name 存在的情况下, 将值添加在列表迭代最右端。
llen 返回list里 元素的个数。
r.lset(name,index,value) 将指定位置的元素重新设定值。
r.lrem 将指定位置的元素移除
lpop 移除列表最左端的一个元素,并返回这个值
lindex 获取指定索引值的元素
lrange(name, start, end) 在name对应的列表分片获取数据
ltrim(name, start, end) 在name对应的列表中移除没有在start-end索引之间的值
rpoplpush(src, dst) 从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边 # src,要取数据的列表的name
# dst,要添加数据的列表的name
set集合操作
sadd(name,values) # name对应的集合中添加元素
scard(name) 获取name对应的集合中元素个数
sdiff(keys, *args) 在第一个name对应的集合中且不在其他name对应的集合的元素集合 求差
sdiffstore(dest, keys, *args) 求差在储存返回值 至dest
sinter(keys, *args) # 获取多一个name对应集合的并集 求并集
sinterstore(dest, keys, *args) 求并集 在储存在dest中
sismember(name, value) 判断value 是否在name中
smembers(name) # 获取name对应的集合的所有成员
smove(src, dst, value) # 将某个成员从一个集合中移动到另外一个集合
spop(name) # 从集合的右侧(尾部)移除一个成员,并将其返回
srem(name, values) 在name对应的集合中删除某些值
sunion(keys, *args) # 获取多个name的集合的并集
有序集合 有序集合,在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。
zadd(name, *args, **kwargs) 如zadd(\'zz\', \'n1\', 1, \'n2\', 2) 数字用于排序的优先级
其他方法类似与列表
以上是关于redis 增删查改常用操作的主要内容,如果未能解决你的问题,请参考以下文章