一、redis介绍
存储在内存中的非关系型数据库,存取速度较快
二、redis数据结构
1)string:最大容量512M
2)hash: key:{域1:值1,域2:值2。。。}
3)list:子成员string,key:[值1,值2。。。]
4)set:子成员类型string无序集合,元素唯一不重复,不可修改
key:{值1,值2。。。}
5)zset有序集合,元素唯一不重复,不可修改
key:{值1 权重值1(数字);值2 权重值2;。。。}
三、语句
1、string
set name yuan#设置键值key name value yuan,key有则修改,无则创建
get name#获取name的value值
setnx age 23 #只可设置一次值
setex key seconds value #设置过期时间
mset key value [key value...]#同时设置多个键值对
mget key [key ...]#同时取多个值
strlen key#获取值长度
#自增自减
incr key#自增1
decr key #自减1
#拼接值,直接往后面拼接内容
append key value
#比特流 1B(字节)=8bit(比特) 1kb=1024B 1MB=1024kb
setbit key offset value#设置offset的值,其他位为0
getbit key offset#获取offset值
bitcount key #获取为1的总个数
bitpos key #获取第一个为1的位的offset位置
#获取所有的键
keys *
#获取包含a的键
keys *a*
#获取以a开头的键
keys a*
#获取以a结尾的键
keys *a
#判断键是否存在
exists key
#打印key的类型
type key
#删除键值
del key key1 key2...
#查看有效期
ttl key
#设置过期时间
expire key seconds
#清空键值,0~15所有数据库key都会被清空
flushall
#重命名
rename oldname newname
#切换数据库,0~15总共数据库有16个,默认是0号仓库
select 2
2、hash
key:{
filed:value
}
hset key filed value#添加
hget key filed#获取
hincrby key filed number#增加number
hdecrby key filed number #减少number
hgetall key#获取所有值
hexists key filed#查看是否存在
hkeys keys#获取指定键的所有域
hvals keys#获取指定键的所有值
hdel key filed filed...#删除键值
3、list
linsert key before|after 指定值 value1 value2...#在指定值前或者后插入一个或多个元素
lset key index value#在指定索引处插入元素
lrem key count value#删除指定值count是数量,正值从左开始,负值是反方向
lindex key index#获取指定下标的值
lpop key#第一个成员出列
rpop key#最后一个pop出列
llen key#获取成员的个数
4、set无序集合
sadd key value1 value2...#给集合添加数据
smembers key#获取集合中所有元素
scard key#获取集合中元素的个数
spop key count#随机删除集合中的值,count是删除的个数
srem key value#删除集合中的指定值
sinter key1 key2 key3...#取得集合交集,共同的数据
sdiff key1 key2 key3...#取得集合的差集,多个集合中不同的成员
sunion key1 key2 key3...#取得集合并集,多个集合中的所有成员去重
5、zset有序集合,根据权重进行排列
zadd key score1 member1 score2 member2....#添加有序集合
zincrby key score member#给指定成员增加权重值
zcard key#获取成员个数
zscore key member#获取指定成员的权重
zrank key member#获取成员从小到大的成员排名
zrevrank key member#获取成员从大到小的成员排名
zcount key min max#获取score在指定区域的成员个数
zrem key member#删除指定成员
zpopmin key count#删除指定数量的成员,权重从低开始删
zpopmax key count#删除指定数量的成员,权重从高开始删
三、python的redis操作
1、连接操作
import redis
r=redis.Redis(host='127.0.0.1',port=6379)
r.set('foo','bar')
print(r.get('foo'))
2 、连接池,为了减少资源的浪费,多个客户端连接同一个实例
import redis
pool = redis.ConnectionPool(host='10.211.55.4', port=6379)
r = redis.Redis(connection_pool=pool)
r.set('foo', 'Bar')
print r.get('foo')
3、其他操作稍后更新。。。