若笔记中没有记录,请参考http://doc.redisfans.com/
redis
redis 数据结构是以key-value形式,键是字符串
,一条数据对应一个键 键不能重复
- 值的类型有
- list
- hash(哈希)
- 字符串string
- set(集合)
- zset(无序集合)
string
1.保存-添加
- set key value
- 若库中没有该key则向数据库中添加,若有改key则更新值
- exists key
- 查看数据库中是否有该key ,有返回1 无返回0
- keys "a"
- 查看包含a的键
2. 删除
- del key
- del key1,key2…
- 删除多键
3.查看键对应值的类型
- type key
hash
存储的是对象,对象的数据类型 属性 值
值类型为字符串
1.增加,修改
- hset user name itcast
- 设置user属性name的值为itcast
- hmset key field1 value2 field2 value2
- 设置多属性
2. 查询
- hkeys key
- 获取key 的所有属性
- hget u2 name
- 获取 u2 name 的值
- hvals key
- 获取所有属性的值
3. 删除
- del u2 name
- 删除u2 name属性
list
元素为string,顺序排序
1.添加
- lpush key value
- 从左边插入
- rpush key value
- 从右边插入
2. 查询
- start、stop为元素的下标索引
- 索引从左侧开始,第1个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后1个元素
- lrange a1 0 -1
- 获取a1列表的所有元素
3.删除
- 将列表中前count次出现的值为value的元素移除
- count > 0: 从头往尾移除
- count < 0: 从尾往头移除
- count = 0: 移除所有
- lrem key count value
- lrem a2-2 b
- 从a2列表右侧删除2个b
set
- 无序集合,元素为字符串,元素具有唯一性,对集合无修改操作
1.添加
- sadd key member1,member2
- sadd a3 zhansan lisi
- 向a3集合中添加"zhansan","lisi"
2. 查询
- smembers key
- 查询key中所有的元素
3.删除
- srem key member1,member2
- srem a3 lisi
- 删除a3集合中lisi
zset
- sorted set,有序集合
- 元素为string类型
- 元素具有唯1性,不重复
- 说明:没有修改操作
1.添加
- zadd key score1 member1 score2 member2
- zadd a4 lisi 1 wanda 2
- 向a4 集合中添加lisi wangda 权重分别为1,2
2. 查询
- 返回指定范围内的元素
- start、stop为元素的下标索引
- 索引从左侧开始,第1个元素为0
- 索引可以是负数,表示从尾部开始计数,如-1表示最后1个元素
- zrange a4 0 -1
- 查看a4 集合中所有的元素
- 返回score值在min和max之间的成员
-zrangebyscore key min max
- 例3:获取键'a4'的集合中权限值在5和6之间的成员
- zrangebyscore a4 5 6
- 获取返回成员member的score值
- zscore key member
- 例4:获取键'a4'的集合中元素'zhangsan'的权重
- zscore a4 zhangsan
3.删除
- zrem key menmber
- zrem a4 lisi
- 删除a4 集合的lisi
与pyhon交互
from redis import StrictRedis
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
except Exception as e:
print(e)
string-增加
set,添加键、值,如果添加成功则返回True,如果添加失败则返回False
编写代码如下
from redis import StrictRedis
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#添加键name,值为itheima
result=sr.set('name','itheima')
#输出响应结果,如果添加成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
string-获取
get,添加键对应的值,如果键存在则返回对应的值,如果键不存在则返回None
编写代码如下
from redis import StrictRedis
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#获取键name的值
result = sr.get('name')
#输出键的值,如果键不存在则返回None
print(result)
except Exception as e:
print(e)
string-修改
set,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
编写代码如下
from redis import StrictRedis
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.set('name','itcast')
#输出响应结果,如果操作成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
string-删除
delete,删除键及对应的值,如果删除成功则返回受影响的键数,否则则返 回0
编写代码如下
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.delete('name')
#输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print(result)
except Exception as e:
print(e)
获取键
keys,根据正则表达式获取键
编写代码如下
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#获取所有的键
result=sr.keys()
#输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表
print(result)
except Exception as e:
print(e)