博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python之旅】第七篇(二):Redis使用基础
阅读量:5978 次
发布时间:2019-06-20

本文共 3740 字,大约阅读时间需要 12 分钟。

0.说明

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

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

1.安装

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

2.启动

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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交互界面:

1
2
xpleaf@xpleaf-machine:/mnt/hgfs/Python/day7/redis-
2.8
.
9
/src$ ./redis-cli
127.0
.
0.1
:
6379
>

    基本操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#查看帮助
127.0
.
0.1
:
6379
> help 
set
 
  
SET key value [EX seconds] [PX milliseconds] [NX|XX]
  
summary: Set the string value of a key
  
since: 
1.0
.
0
  
group: 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通信的接口:

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#查看所有的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'

转载地址:http://wepox.baihongyu.com/

你可能感兴趣的文章
oracle数据误操作恢复【flashback闪回操作】
查看>>
浅谈三级分销系统开发对企业的作用
查看>>
类的修饰符
查看>>
EIG集团简单介绍
查看>>
域名转发与域名解析有什么区别?
查看>>
uWSGI+Nginx安装、配置
查看>>
服务器的攻与防(firewall 禁止指定Ip)
查看>>
CMD(SA400 Command)
查看>>
深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位)
查看>>
JVM — 类加载机制
查看>>
2015/06/08
查看>>
移动端点击图片放大
查看>>
alpha冲刺7
查看>>
UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
查看>>
Android Studio之SVN打分支、切换分支及合并分支
查看>>
SQL Server Mysql 对null值理解的不同
查看>>
vue-router使用next()跳转到指定路径时会无限循环
查看>>
C#操作mysql中临时表不自动删除
查看>>
Android 百度鹰眼轨迹SDK(v2.1.6)
查看>>
拉格朗日插值
查看>>