redis基础
redis keys 命令 (不区分大小写)
redis默认有16个集合 ,db=0~15
select db(0-15) : 选择数据库
flushdb : 清空当前数据库 (删除当前数据库中所有键)
flushall : 清空所有数据库 (删除所有数据库中的键)
keys * : 查看所有键 keys a* 查找以a开头的键 (匹配)
del key : 删除键
expire key seconds : 给指定的key添加过期时间,单位S
ttl key : 以秒为单位,返回该键剩余时间
exists key : 判断一个键是否存在
数据类型
redis 五种数据类型:字符串(string)、哈希(字典)、列表(list)、集合(set)、有序集合(zset)
字符串string
set key value : 设置key-value
setnx key value : 设置键的值,仅当键不存在时
mset key1 value key2 value : 同时设置多个键的值
msetnx key1 value key2 value : 同时设置多个键的值,仅当键不存在时
setex key seconds value : 使用键和到期时间来设置值(秒为单位)
psetex key milliseconds : 使用键和到期时间来设置值 (毫秒为单位)
setrange key offset value : 将该key对应的值从offset处开始替换为value
get key : 获取指定键的值
mget key1 key2... : 获取所有指定key的值
getset key value : 返回key旧值,设置新值
getrange key start end : 字符串提取, 字符串下标从0开始
incr key : 将键的整数值增加1
incrby key increment(增量) : 按给定数值增加键的整数值
incrbyfloat key increment : 按给定数值增加键的浮点数值
decr key : 将键的整数值减1
decrby key decrement : 按给定数值减少键的整数值
decrbyfloat key decrement : 按给定数值减少键的浮点数值
strlen key : 获取存储在键中的值的长度
append key value : 将指定值追加到键上的字符串 ,键不存在则创建再追加
哈希hash --字典{}
hset key field value : 给key设置字段和值
hsetnx key field value value : 给key设置字段和值,仅当key中不存在field时
hget key field : 获取key中指定字段对应值
hmget key field1 field2 ... : 同时获取key中多个字段的值
hgetall key : 获取该key中所有字段和对应值
hkeys key : 获取key中所有字段
hvals key : 获取key中所有的值
hdel key field1 field2 : 删除key中指定字段
hexists key field : 该key中是否存在这个字段,存在返回1,不存在返回0
hincrby key field number : 给该key中指定字段对应值加减number
hincrbyfloat key field number : 给该key中指定字段对应值加减number,number可以为float值
hlen key : 求key的长度, 获取key中字段的个数
列表list
lpush key value1 value2 : 依次将value1 和 value2 从左边插入队列key中
lpushx key value : 仅当队列key存在时,往头部插入元素,不存在则插入失败.
rpush key value1 value2 : 将value从右边插入到队列key中
rpushx key value : 仅当队列key存在时,往右边插入元素,不存在则插入失败.
linsert key before|after value newvalue : 在队列key中value的前面或后面插入新的newvalue
lrange key start stop : 依次显示队列key中start 到 stop 的所有元素,0代表第一个, -1代表最后一个
lrange key 0 -1 : 显示key中全部元素
lpop key : 弹出队列key中最左边的元素
rpop key : 弹出队列key中最右边的元素
rpoplpush src dst : 弹出队列src中最右边的元素,插入到队列dst的最左边
lset key index value : 将队列key中下标为index的元素设置为value,下标从0开始
lindex key index : 获取队列key中下标为index的元素
llen key : 求队列key的长度, 获取key中元素个数
ltrim key start stop : 去掉队列start - stop区间之外的所有元素,闭区间
lrem key n value : 去掉队列key中和value相等的元素
n为正数时,从最左边开始去掉n个和value相等的元素
n为负数时,从最右边开始去掉n个和value相等的元素
n=0时,去掉队列中所有和value相等的元素
集合 set
无序性,唯一性
sadd key value1 value2 value3 : 往集合中插入多个值
scard key : 求集合长度, 获取集合中元素的个数
smembers key : 查看集合中所有元素
sdiff key1 key2 key3 : 获取差集, 保留key1中key2和key3没有的元素
sdiffstore dst key1 key2 key3 : 将这个(sdiff key1 key2 key3)的结果保留到集合dst中
sinter key1 key2 : 获取key1和 key2的交集
sinterstore dst key1 key2 : 将(sinter key1 key2)的结果保存到集合dst中
sunion key1 key2 : 得到集合key1和集合key2的并集
sunionstore dst key1 key2 : 将集合key1和集合key2的并集保存到dst中
sismember key value : 判断value在不在集合key中,在的话返回1,不在的话返回0
smove key1 key2 value : 将集合key1中的元素value移到key2中
spop key : 从集合中随机弹出一个元素
srandmember key count count > 0 且 count < 集合元素个数: 返回你一个数组,而且数组元素唯一 count > 集合元素个数:返回你该集合中所有的元素 count < 0:返回给你-count个元素,但是不保证唯一
srem key value1 value2 : 移除集合中value1和value2元素
有序集合 zset
zadd key score member : 将分值为score的成员member加入到有序集合key中
zcard key : 获取key长度
zcount key start stop : 获取集合中分值在start-stop之间的元素个数
zincrby key number member : 给集合key中指定的member元素的分值加上number
zrange key start stop [withscores] : 显示集合中的元素
zrangebyscore key min max : 按区间查找对应元素,min 和 max
【注】前面的只能写数字,肯定是大于等于,后面的可以写开区间,不写默认就是闭区间
0 (100 -- 0<= n <100
0 100 -- 0<= n <=100
默认升序排列好
zrank key value : 将key升序排列,下标从0开始, 查找value在有序集合中的排名,返回的是下标
zrevrank key value : 降序排列
zrem key member1 member2: 移除有序集合中指定元素
zrevrangebyscore key max min
ZREVRANGEBYSCORE salary 100 30 # 逆序排列所有成员
zscore key member : 返回指定成员的分数.
python操作redis
StrictRedis对象方法:
通过init创建对象,指定参数host、port与指定的服务器和端口连接,host默认为localhost,port默认为6379,db默认为0, 密码(设置了就加上)
from redis import StrictRedis
#创建一个Strictredis对象,连接redis服务器
sr = StrictRedis(host='localhost',port=6379,db=0)
#1.增
try:
result = sr.set('py1', 'gj')
# result如果为true,则表示添加成功
print(result)
except Exception as e:
print(e)
#2.删
#result = sr.delete('py1')
#print(result)
#3.改
result = sr.set('py1','he')
#4.查
#如果建不存在,则返回None
result = sr.get('py1')
#5.获取建
result = sr.keys()
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接