xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 新闻动态 2019-12-12 22:05 的文章
当前位置: 新濠国际登录平台 > 新闻动态 > 正文

需要通过pip install pymysql进行安装,Python list类型

一、Redis API支持

Redis提供了各类开发语言的API,方便开发语言连接使用Redis。
https://redis.io/clients
官方网站提供了不同开发语言的API程序。

新濠国际登录平台 1

下一篇:C# Redis学习系列二:Redis基本设置

模块安装:

Mac版本:10.12.6

Python连接redis

https://redis.io/clients#python

官网中,给我们提供了很多种Python连接redis的API,我们通常选择有“笑脸”并且带有“星号”的使用
这里我们推荐使用redis-py.

新濠国际登录平台 2

一.认识Redis

数据操作用到的模块pymysql,需要通过pip install pymysql进行安装。

Python版本3.6.3

redis-py安装方式

redis-py requires a running Redis server. See Redis's quickstart for installation instructions.

To install redis-py, simply:

$ sudo pip install redis
or alternatively (you really should be using pip though):

$ sudo easy_install redis
or from source:

$ sudo python setup.py install
  1. Redis 是一个高性能的key-value数据库。

redis操作用的模块是redis,需要通过pip install redis进行安装。

Redis简介

Redis是一个高性能的key-value内存数据库;

中文网站:http://redis.cn

官方网站:http://redis.io

Redis有三个主要的特点是有别于其他很多竞争对手的:

1.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用;

2.Redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储;

3.Redis支持数据的备份,即master-slave模式的数据备份;

Redis的优点:

1.性能极高--Redis能读的速度是110000次/s,写的速度是81000次/s;

2.支持丰富的数据类型--Redis支持如:list,set,zset,hash等数据类型;

3.操作是原子的--所有Redis的操作都是原子,从而确保当两个客户同时访问Redis服务器得到的是更新后的值;

Python连接Redis

redis-py提供的,python 连接及操作redis方式:
    redis-py提供两个类Redis和StrictRedis用于实现Redis的命令。StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedis.set方法)。
    Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。 
    简单说,官方推荐使用StrictRedis方法。不推荐Redis类,原因是他和咱们在redis-cli操作有些不一样,主要不一样是下面这三个方面。

2. 它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

检验是否安装成功:进入到Python命令行模式,输入import pymysql、 import redis ,无报错代表成功;

Redis环境安装

下载地址:https://redis.io/download,下载最新版本,稳定版系列.

1.下载安装文件

wget

2.解压

tar -zxvf redis-4.0.6.tar.gz

3.copy到/usr/local/redis/目录下,并查看,进入

sudo mkdir -p /usr/local/redis/

sudo cp -r redis-4.0.6/*  /usr/local/redis/

ls /usr/local/redis/

cd /usr/local/redis/

4.编译

sudo make

sudo make test  (如果出现"o/ All tests passed without errors!")

新濠国际登录平台 3

表示Redis环境没问题

5.安装

sudo make install

6.查看编译好的命令文件

ls /usr/local/bin/redis-*

7.修改配置文件

sudo mkdir /etc/redis

sudo cp redis.conf /etc/redis/

ls /etc/redis/redis.conf

redis连接分片集群

(1) redis-py并没有提供redis-cluster的支持,去github找了一下,有个叫redis-py-cluster的源码,
但是和redis-py不是一个作者,地址为:https://github.com/Grokzen/redis-py-cluster
watch,star,fork还算可以。
(2) 安装
   Latest stable release from pypi
$ pip install redis-py-cluster  
    or from source
$ python setup.py install
(3) 使用
>>> from rediscluster import StrictRedisCluster  
>>> startup_nodes = [{"host": "127.0.0.1", "port": "7000"}]  
>>> # Note: decode_responses must be set to True when used with python3  
>>> rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)  
>>> rc.set("foo", "bar")  
True  
>>> print(rc.get("foo"))  
'bar'

3.周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件

mysql操作方法如下:

启动Redis

redis-server /etc/redis/redis.conf

python连接redis sentinel

>>> from redis.sentinel import Sentinel  
>>> sentinel = Sentinel([('localhost', 26379)], socket_timeout=0.1)  
>>> sentinel.discover_master('mymaster')  
('127.0.0.1', 6379)  
>>> sentinel.discover_slaves('mymaster')  
[('127.0.0.1', 6380)]  
>>> master = sentinel.master_for('mymaster', socket_timeout=0.1)  
>>> slave = sentinel.slave_for('mymaster', socket_timeout=0.1)  
>>> master.set('foo', 'bar')  
>>> slave.get('foo')  
'bar'

新濠国际登录平台,4.别人说的 比我好 Redis百度百科

查询数据:fetchone、fetchmany(n)、fetchall()

连接Redis服务器

新开一个终端窗口

通过  redis-cli  得到  127.0.0.1:6379>

再输入 ping  得到 PONG

新濠国际登录平台 4

代表Redis服务器已经正常安装并且可以使用了

Python String类型使用简介

String类型基本操作:
r.set('foo', 'Bar')
print (r.get('foo'))

r.mset(k1="v1",k2="v2")
r.mget('k1','k2')

r.incr('num')
r.get('num')
r.incr('num')
r.get('num')

二.下载

import pymysql
#建立mysql连接,ip、端口、用户名、密码(passwd,不能写成其他,例如:pwd或者p,否则报错)、库名
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='szz', port=3306, charset='utf8')
#创建游标
cur = conn.cursor(cursor=pymysql.cursors.DictCursor) #指定cursor的类型为字典,返回结果类型是字典,不再是元组
#执行sql,返回值是int,查询出来的结果有几条
cur.execute('select * from test')
#获取第一条数据,游标cur所在的位置为1,游标从0开始,查询结果类型为:字典
row_1 = cur.fetchone()
cur.scroll(0, mode='absolute')  #将游标移动到初始位置
#获取前n行数据
row_2 = cur.fetchmany(n)
cur.scroll(0, mode='absolute')  #将游标移动到初始位置
#获取所有数据,返回结果类型是:list,里面元素是字典
row_3 = cur.fetchall()
cur.scroll(0, mode='absolute')  #将游标移动到初始位置
print(row_2)
#关闭游标
cur.close()
#关闭连接
conn.close()

Python hash类型使用简介

#插入hash类型键值
r.hset("hash1", "k1", "v1")
r.hset("hash1", "k2", "v2")
# 取hash中所有的key
print(r.hkeys("hash1"))     
# 单个取hash的key对应的值        
print(r.hget("hash1", "k1"))
# 多个取hash的key对应的值
print(r.hmget("hash1", "k1", "k2"))
#批量设置
r.hmset("hash2", {"k2": "v2", "k3": "v3"})
#批量取出 
print(r.hget("hash2", "k2"))              # 单个取出"hash2"的key-k2对应的value
print(r.hmget("hash2", "k2", "k3"))      # 批量取出"hash2"的key-k2 k3
print(r.hmget("hash2", ["k2", "k3"]))     # 批量取出"hash2"的key-k2 k3对应的value 
#取出所有的键值对
hgetall(name)

为了匹配我的教程,我推荐下载 redis-2.8.2400

增加、更新、删除数据

Python list类型使用简介

#设置列表:
r.lpush("list1", 11, 22, 33)
#查询列表所有值
print(r.lrange('list1', 0, -1))
# 表示从右向左设置列表
r.rpush("list2", 11, 22, 33)
# 列表长度
print(r.llen("list2"))
# 切片取出值,范围是索引号0-3
print(r.lrange("list2", 0, 3))

三.如何安装

import pymysql
#建立mysql连接
conn = pymysql.connect(host='127.0.0.1', user='root', passwd='123456', db='szz', port=3306, charset='utf8')
#创建游标
cur = conn.cursor(cursor=pymysql.cursors.DictCursor) #指定cursor的类型为字典,返回结果类型是字典,不再是元组
#执行sql
sql = 'insert into test values(5, "断点", "e10adc3949ba59abbe56e057f20f883e")'
sql_update = 'update test set name="薛之谦" where id=2 '
sql_del = 'delete from test where id = 3'
cur.execute(sql_del)
#insert、update、delete语句需要进行commit,否则无法保证修改或者新建的数据
conn.commit()
#关闭游标
cur.close()
#关闭连接
conn.close()

Python set类型使用简介

# 往集合中添加元素
r.sadd("set1", 33, 44, 55, 66)
# 集合的长度是4
print(r.scard("set1"))
# 获取集合中所有的成员
print(r.smembers("set1"))

咳咳.我下载的时候就是别人打包好的如图:(根据自己的系统选择)

cursor的相对、绝对位置移动

本文由新濠国际登录平台发布于新闻动态,转载请注明出处:需要通过pip install pymysql进行安装,Python list类型

关键词: