想要用Python操作Redis,就要掌握虚拟环境redis安装以及开启Redis服务器的命令.
具体操作如下:
-一. 掌握虚拟环境redis安装
安装包
-
第一种:进入虚拟环境py_django,联⽹安装包redis
pip install redis
-
第二种:进⼊虚拟环境py_django,联⽹安装包redis
easy_install redis
-
第三种:到中⽂官⽹-客户端下载redis包的源码,使⽤源码安装
一步步执行 wget https://github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
cd redis-py-master
sudo python setup.py install
调用模块
-
引用模块
from redis import StrictRedis
-
这个模块中提供了StrictRedis对象(Strict严格),用于连接redis服务器,并按照不同类型提供了不同方法,进行交互操作
二.了解Redis服务器端和客户端的命令
服务器端
- 服务器端的命令为redis-server
- 可以使用help查看帮助文档
> redis-server --help
- 推荐使用服务的方式管理redis服务
- 启动
> sudo service redis start
- 停止
> sudo service redis stop
- 重启 sudo service redis restart
- 习惯
> ps -ef|grep redis 查看redis服务器进程
> sudo kill -9 pid 杀死redis服务器
** sudo redis-server /etc/redis/redis.conf 指定加载的配置文件**
# 客户端
- 客户端的命令为redis-cli
- 可以使用help查看帮助文档
redis-cli --help
- 连接redis
redis-cli
- 测试命令
ping
- 切换数据库
- 数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库
select n
三.Python操作Redis:
准备工作:
- 使用pycharm新建 redis目录
- 创建redis_string.py文件
String字符串类型:
#1.导入StrictRedis
from redis import StrictRedis
if __name__ == '__main__':
try:
#2.创建对象,连接到redis服务器
sr = StrictRedis()
#string方法如下:
#设置键值
res = sr.set('name','wangwu')
print(res)
#获取值:
res = sr.get('name')
print(res)
#设置多个键值:
res = sr.mset({'age':'18','gender':'false'})
print(res)
#追加值:
res = sr.append('name','zi')
print(res)
#删除键值:
res = sr.delete('name')
print(res)
#判断key是否存在
res = sr.exists('name')
except Exception as error:
print(error)
hash哈希类型:
#导入StritRedi
from redis import StrictRedis
if __name__ == '__main__':
try:
#创建对象,连接到redis服务器
hash = StrictRedis()
#hash方法如下:
#1.设置单个属性:hset key field value
ha = hash.hset('user','name','hww')
# print(ha)
#2.设置多个属性:hmset key field1 value1 field2 value2
ha = hash.hmset('h1',{'name':'anqi','gender':'true'})
# print(ha)
#3.获取制定键所有的属性:hkeys key
ha = hash.hkeys('h1')
print(ha)
#4.获取一个属性的值:hget key field
ha = hash.hget('h1','name')
print(ha)
#5.获取多个属性的值:hmget key field1 field2
ha = hash.hmget('h1','name','gender')
print(ha)
#6.获取所有属性的值:hvals key
ha = hash.hvals('h1')
print(ha)
#7.删除:hdel key field1 field2 ...
ha = hash.delete('user','name')
print(ha)
except Exception as error:
print("error")
list列表类型:
#导入StritRedis
from redis import StrictRedis
if __name__ == '__main__':
try:
#创建对象,连接到redis服务器
hash = StrictRedis()
#hash方法如下:
#1.设置单个属性:hset key field value
ha = hash.hset('user','name','hww')
# print(ha)
#2.设置多个属性:hmset key field1 value1 field2 value2
ha = hash.hmset('h1',{'name':'anqi','gender':'true'})
# print(ha)
#3.获取制定键所有的属性:hkeys key
ha = hash.hkeys('h1')
print(ha)
#4.获取一个属性的值:hget key field
ha = hash.hget('h1','name')
print(ha)
#5.获取多个属性的值:hmget key field1 field2
ha = hash.hmget('h1','name','gender')
print(ha)
#6.获取所有属性的值:hvals key
ha = hash.hvals('h1')
print(ha)
#7.删除:hdel key field1 field2 ...
ha = hash.delete('user','name')
print(ha)
except Exception as error:
print("error")
set无序集合:
from redis import StrictRedis
if name == ‘main’:
try:
#1.创建对象,连接到redis服务:
set = StrictRedis()
#2.设置无序集合:sadd key member1 member2...
res = set.sadd('set1','zhangsan','lisi','wangwu')
print(res)
#3.获取所有元素:smembers('key')
res = set.smembers('set1')
print(res)
#4.删除指定元素:srem key member
res = set.srem('set1','lisi')
print(res)
except Exception as error:
print("error")
zset有序列表集合:
from redis import StrictRedis
if __name__ == '__main__':
try:
#1.创建对象,连接redis服务:
set = StrictRedis()
#2.增加有序集合:
#zadd python调用的方法跟redis原生的方法不一样,redis是先权重后元素,python则是先元素后权重
res = set.zadd('zset1',{'zhangsan':1,'lisi':2,'wangwu':3})
# print(res)
#3.获取指定范围内的元素:zrange key start stop
res = set.zrange('zset1',0,-1)
print(res)
#4.获取权重(score)值在min和max之间的成员:zrangebyscore('key',min,max)
res = set.zrangebyscore('zset1',2,3)
print(res)
#5.获取成员member的权重score值:
res = set.zscore('zset1','zhangsan')
print(res)
#6.删除指定元素:zrem key member
res = set.zrem('zset1','wangwu')
print(res)
#7.删除权重所对应的成员元素:zremrangebyscore('key',min,max)
res = set.zremrangebyscore('zset1',2,3)
print(res)
except Exception as error:
print("error")