0.说明

由于学习开发监控软件的需要,因此需要使用到Redis,这里简单介绍。

注意,使用的环境为:Ubuntu 15.10

1.安装

可以采用源码安装,也可以采用apt-get来安装,都比较简单。

2.启动

由于采用的是源码安装的方式,所以直接进入src目录,启动redis-server:

xpleaf@xpleaf-machine:/mnt/hgfs/Python/day7/redis-2.8.9/src$ ./redis-server
[12681] 16 Oct 00:06:52.964 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
[12681] 16 Oct 00:06:52.967 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
[12681] 16 Oct 00:06:52.968 # Redis can't set maximum open files to 10032 because of OS error: Operation not permitted.
[12681] 16 Oct 00:06:52.968 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'._._                                                  _.-``__ ''-._                                             _.-``    `.  `_.  ''-._           Redis 2.8.9 (00000000/0) 64 bit.-`` .-```.  ```\/    _.,_ ''-._                                   (    '      ,       .-`  | `,    )     Running in stand alone mode|`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379|    `-._   `._    /     _.-'    |     PID: 12681`-._    `-._  `-./  _.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |           http://redis.io        `-._    `-._`-.__.-'_.-'    _.-'                                   |`-._`-._    `-.__.-'    _.-'_.-'|                                  |    `-._`-._        _.-'_.-'    |                                  `-._    `-._`-.__.-'_.-'    _.-'                                   `-._    `-.__.-'    _.-'                                       `-._        _.-'                                           `-.__.-'                                               [12681] 16 Oct 00:06:52.974 # Server started, Redis version 2.8.9
[12681] 16 Oct 00:06:52.974 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[12681] 16 Oct 00:06:52.976 * DB loaded from disk: 0.002 seconds
[12681] 16 Oct 00:06:52.977 * The server is now ready to accept connections on port 6379

出现上面所示的提示,说明已经正常启动了redis。

3.交互式操作

进入src目录,运行redis-cli即可进入redis交互界面:

xpleaf@xpleaf-machine:/mnt/hgfs/Python/day7/redis-2.8.9/src$ ./redis-cli
127.0.0.1:6379>

基本操作:

#查看帮助
127.0.0.1:6379> help setSET key value [EX seconds] [PX milliseconds] [NX|XX]summary: Set the string value of a keysince: 1.0.0group: string#创建key-value
127.0.0.1:6379> set name xpleaf
OK#获得key对应的value
127.0.0.1:6379> get name
"xpleaf"#创建有时间的key-value
127.0.0.1:6379> set name2 CL ex 5
OK#创建列表
127.0.0.1:6379> lpush stu_list xpleaf yonghaoye CL
(integer) 3
127.0.0.1:6379> lpush stu_list CLYYH
(integer) 4#获取列表内容
127.0.0.1:6379> lrange stu_list 1 4
1) "CL"
2) "yonghaoye"
3) "xpleaf"
127.0.0.1:6379> lrange stu_list 0 4
1) "CLYYH"
2) "CL"
3) "yonghaoye"
4) "xpleaf"#删除key-value或其它数据类型
127.0.0.1:6379> del name
(integer) 1

3.在Python交互器中使用redis

  • 要使用Python来操作Redistribute,则需要安装Python与Redis通信的接口:

apt-get install python-redis
  • 在交互器中连接Redis数据库:

>>> import redis
>>> r = redis.Redis('127.0.0.1', port=6379, db=0)
  • 基本操作

#查看所有的key
>>> r.keys()
['YourKey', 'stu_list', 'k1', 'k3']#创建key-value
>>> r.set('xpleaf', 'xpleaf')
True#获取key所对应的value
>>> r['xpleaf']
'xpleaf'
或
>>> r.get('xpleaf')
'xpleaf'#保存Python中的字典到Redis数据库中
>>> import json
>>> myDict = {'name': 'xpleaf', 'age': 21, 'loving': 'cl'}
>>> r['Py_myDict'] = json.dumps(myDict)
>>>
>>> r['Py_myDict']
'{"age": 21, "name": "xpleaf", "loving": "cl"}'#取出保存在Redis数据库中的Python字典
>>> a = json.loads(r['Py_myDict'])
>>> a
{u'age': 21, u'name': u'xpleaf', u'loving': u'cl'}
>>> a['name']
u'xpleaf'

转载于:https://blog.51cto.com/xpleaf/1703387

【Python之旅】第七篇(二):Redis使用基础相关推荐

  1. 【游戏开发实战】(完结)使用Unity制作像天天酷跑一样的跑酷游戏——第七篇:游戏界面的基础UI

    文章目录 一.前言 二.导入游戏界面UI素材 三.制作游戏界面UI预设 四.事件管理器 五.编写GameMainPanel.cs脚本 六.游戏管理器添加金币逻辑 七.加金币 八.跳跃事件 九.运行测试 ...

  2. [网络安全自学篇] 二十七.Sqlmap基础知识、CTF实战及请求参数设置(一)

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Shodan搜索引擎的基本用法及Python命令行.本篇文章详细讲解了S ...

  3. 【Python之旅】第二篇(七):集合

    说明: ·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现: ·sets支持x in set, len(set)和 for x in set: ·作为一个无序的集 ...

  4. 【Python之旅】第二篇(二):列表与元组

    说明: Python中的列表类似于其它高级语言中的数组,不过Python的列表操作起来要轻松很多. Python中列表的学习主线主要是围绕对列表参数的操作使用上,重点关注的应该有如下这些: names ...

  5. Python开发【第七篇】: 面向对象和模块补充

    内容概要 特殊成员 反射 configparser模块 hashlib模块 logging模块 异常处理 模块 包 1. 特殊成员 什么是特殊成员呢? __init_()就是个特殊的成员. 带双下划线 ...

  6. Python进阶【第七篇】文件处理

    一.文件操作 在Python中,文件读写是最常见的操作.对文件的操作为: #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='utf-8') #默 ...

  7. redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster

    上一篇有介绍手动安装redis cluster传送门,很明显,手动创建redis cluster的过程比较繁杂,容易出错,因此redis官方开发了一个工具,可以快速搭建redis cluster.在5 ...

  8. Python Web开发框架之Django篇——二、Django连接MySQL数据库以及建表的操作

    二.Django连接MySQL数据库以及建表的操作 准备工作:安装Python访问MySQL的模块 一.修改project同名目录下面的__init__.py文件 二.修改project同名目录下面的 ...

  9. Python学习【第七篇】基本数据类型

    基本数据类型 bytes数据类型 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python ...

  10. 【Python之旅】第二篇(三):基于列表处理的购物清单程序

    1.基本需求 编写一个购物小程序,要求实现如下功能: (1)让用户输入工资: (2)输出购物菜单及产品价格: (3)计算用户是否可支付: (4)输出用户剩余的钱,问用户是否继续购物,如果选择继续,则继 ...

最新文章

  1. Keras中神经网络可视化模块keras.utils.vis_util 的安装
  2. 小程序input获得焦点触发_小程序如何获得种子用户,微信9亿月活用户来教你!...
  3. HYSBZ - 1026 windy数(数位dp)
  4. myeclipse中导入android项目后无法视图下查看XML视图
  5. 90后副教授一作发Science,刷新该校历史
  6. 精讲23种设计模式-策略模式~聚合短信服务和聚合支付服务
  7. oracle创建自身连接,oracle菜鸟学习之 自连接查询实验
  8. linux ip协议号,IP协议号大全
  9. [转]SAP行业知识Qamp;A一览表
  10. web项目设计文档_web项目前后端分离模式下的权限设计方案
  11. 前端Docker教程
  12. python嵩天博客_Python学习第二课-MOOC嵩天
  13. 「99诱拐」 读后感
  14. mysql ansi sql标准_Mysql数据库隔离级别(ANSI SQL92规范,行锁,间隙锁)
  15. 关于公司要不要设立测试的讨论
  16. 找文心一言问了几个嵌入式软件开发的问题
  17. Qt 5.12 编写多窗口程序(新手手把手教学)
  18. 在VS2010中ActiveX控件注册方法,使用regsvr32命令
  19. JAVA stream流对集合进行替换修改
  20. Git删除本地分支(批量删除)

热门文章

  1. MODE —— 输出一个高度和宽度固定的方框(知识点:for循环嵌套for循环)
  2. shell脚本——expect命令
  3. C语言函数指针 和 OC-Block
  4. (转)HTTP 协议之压缩
  5. Oracle内部错误:ORA-00600[2608]一例
  6. DotNetNuke(DNN)升级攻略(DNN 4.3.7至DNN 4.6.0)
  7. [转]Git详解之五 分布式Git
  8. 企业微信的corpsecret在哪里?
  9. MySql 踩坑小记
  10. 代码坏味道之非必要的