《redis数据库的操作》
24.数据库
1.默认有16个数据库 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15
2.一般无需创建数据库,默认使用0库
3.切换数据库 select 数据库编号
4.可以把数据库看成一个大的字典
25.数据表、集合
没有这种概念
其实redis将数据直接存放在数据库中
26.数据操作
redis是key-value的数据,所以每个数据都是一个键值对
键的类型是字符串
值的类型可以分为五种:
字符串string
哈希hash
列表list
集合set
有序集合zset
数据操作的命令 http://redis.cn/commands.html
26.1键
查找键,支持正则 keys pattern
查看建对应的值的类型 type key
删除键以及对应的值 del key [key ……]
判断键是否存在,如果存在返回1,否则返回0 exists key [key ……]
设置过期时间,单位为秒 expire key value
查看有效时间,单位为秒 ttl key
删除所有键值对 flushall
26.2string
string是redis最基本的类型
最大能存储512M的数据
string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等
--------------------------------------------------
命令:
设置:
设置键值 set key value
设置键值及过期时间 setex key seconds value
设置多个值 mset key value [key value ...]
获取:
根据键获取值,如果不存在此键返回None get key
根据键获取多个值 mget key [key...]
运算:
要求 值是数字
将key对应的value加1 incr key
将key对应的value减1 decr key
将key对应的value加整数 incrby key increment
将key对应的value减整数 decrby key increment
其他:
追加值 append key value
获取值的长度 strln key
26.3hash
概述: hash用于储存对象
命令:
设置:
设置单个属性 hset key filed value
设置多个属性 hmset key field value [field value ……]
获取:
获取一个属性值 hget key field
获取多个属性值 hmget key field [field ……]
获取所有属性和值 hgetall key
获取所有的属性 hkeys key
获取所有的值 hvals key
获取属性的个数 hlen key
获取值的字符串长度hstrlen key field
删除属性以及值:
hdel key field [field ……]
判断属性是否存在:
hexists key field
26.4list
概述:
列表的元素类型为string
安装插入顺序排序
在列表的头部或者尾部添加元素
命令:
设置:
在头部插入:lpush key value[value....]
在尾部插入:rpush key value[value....]
设置指定索引的元素:lset key index value
在一个元素的前/后面插入新元素:linsert key before/after pivot value
获取:
移除并返回列表中的第一个元素:lpop key
移除并返回列表中的最后一个元素:rpop key
返回列表里指定范围的元素:lrange key start stop
返回列表中指定下标的元素:lindex key index
其他:
返回列表中元素的个数:llen key
剪裁列表,改为原集合的一个子集:ltrim key start stop
26.5集合
概述:
无序集合
元素为string类型
元素具有唯一性,不能重复
命令:
设置:
sadd key member[member...]
获取:
返回集合中所有的元素:smembers key
获取集合中元素的数量:scard key
获取并删除元素:spop key[count]
其他:
求某集合与其他集合的差集:sdiff key [key ……]
求多个集合的交集:sinter key [key ……]
求多个集合的合集:sunion key [key ……]
判断元素是否在集合中:sismember key member
26.6 zset
概述:
sorted set 有序集合
元素类型为string
元素具有唯一性,不能重复
每个元素都会关联一个double类型score表示权重
元素的score可以相同
命令:
设置:
zadd key score member[score member...]
获取:
返回元素的个数:zcard key
返回指定范围的元素:zrange key start stop
返回score范围的元素个数:zcount key min max
27 Redis模块
安装:pip install redis
import redis
try:
r = redis.StrictRedis(host="www.sunck.wang", port=6379, password="sunck")
except:
print("连接redis失败……")
pipe = r.pipeline()
pipe.set("a", "100")
pipe.set("b", "200")
pipe.set("c", "300")
pipe.execute()