由于学习开发监控软件的需要,因此需要使用到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
<code>xpleaf@xpleaf-machine:/mnt/hgfs/Python/day7/redis-</code><code>2.8</code><code>.</code><code>9</code><code>/src$ ./redis-server </code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.964</code> <code># Warning: no config file specified, using the </code><code>default</code> <code>config. In order to specify a config file </code><code>use</code> <code>./redis-server /path/to/redis.conf</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.967</code> <code># You requested maxclients of </code><code>10000</code> <code>requiring at least </code><code>10032</code> <code>max file descriptors.</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.968</code> <code># Redis can't </code><code>set</code> <code>maximum open files to </code><code>10032</code> <code>because of OS error: Operation not permitted.</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.968</code> <code># Current maximum open files </code><code>is</code> <code>1024</code><code>. maxclients has been reduced to </code><code>4064</code> <code>to compensate </code><code>for</code> <code>low ulimit. If you need higher maxclients increase </code><code>'ulimit -n'</code><code>.</code>
<code> </code><code>_._ </code>
<code> </code><code>_.-``__ </code><code>''</code><code>-._ </code>
<code> </code><code>_.-`` `. `_. </code><code>''</code><code>-._ Redis </code><code>2.8</code><code>.</code><code>9</code> <code>(</code><code>00000000</code><code>/</code><code>0</code><code>) </code><code>64</code> <code>bit</code>
<code> </code><code>.-`` .-```. ```\/ _.,_ </code><code>''</code><code>-._ </code>
<code> </code><code>( ' , .-` | `, ) Running </code><code>in</code> <code>stand alone mode</code>
<code> </code><code>|`-._`-...-` __...-.``-._|</code><code>'` _.-'</code><code>| Port: </code><code>6379</code>
<code> </code><code>| `-._ `._ / _.-' | PID: </code><code>12681</code>
<code> </code><code>`-._ `-._ `-./ _.-</code><code>' _.-'</code>
<code> </code><code>|`-._`-._ `-.__.-</code><code>' _.-'</code><code>_.-'| </code>
<code> </code><code>| `-._`-._ _.-</code><code>'_.-'</code> <code>| http:</code><code>//redis.io </code>
<code> </code><code>`-._ `-._`-.__.-</code><code>'_.-'</code> <code>_.-' </code>
<code> </code><code>| `-._`-._ _.-</code><code>'_.-'</code> <code>| </code>
<code> </code><code>`-._ `-.__.-</code><code>' _.-'</code>
<code> </code><code>`-._ _.-' </code>
<code> </code><code>`-.__.-' </code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.974</code> <code># Server started, Redis version </code><code>2.8</code><code>.</code><code>9</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.974</code> <code># WARNING overcommit_memory </code><code>is</code> <code>set</code> <code>to </code><code>0</code><code>! Background save may fail under low memory condition. To fix </code><code>this</code> <code>issue add </code><code>'vm.overcommit_memory = 1'</code> <code>to /etc/sysctl.conf and then reboot or run the command </code><code>'sysctl vm.overcommit_memory=1'</code> <code>for</code> <code>this</code> <code>to take effect.</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.976</code> <code>* DB loaded from disk: </code><code>0.002</code> <code>seconds</code>
<code>[</code><code>12681</code><code>] </code><code>16</code> <code>Oct </code><code>00</code><code>:</code><code>06</code><code>:</code><code>52.977</code> <code>* The server </code><code>is</code> <code>now ready to accept connections on port </code><code>6379</code>
出现上面所示的提示,说明已经正常启动了redis。
3.交互式操作
进入src目录,运行redis-cli即可进入redis交互界面:
<code>xpleaf@xpleaf-machine:/mnt/hgfs/Python/day7/redis-</code><code>2.8</code><code>.</code><code>9</code><code>/src$ ./redis-cli</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>></code>
基本操作:
28
29
30
31
32
33
34
35
36
37
38
39
40
<code>#查看帮助</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> help </code><code>set</code>
<code> </code><code>SET key value [EX seconds] [PX milliseconds] [NX|XX]</code>
<code> </code><code>summary: Set the string value of a key</code>
<code> </code><code>since: </code><code>1.0</code><code>.</code><code>0</code>
<code> </code><code>group: string</code>
<code>#创建key-value</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> </code><code>set</code> <code>name xpleaf</code>
<code>OK</code>
<code>#获得key对应的value</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> </code><code>get</code> <code>name</code>
<code>"xpleaf"</code>
<code>#创建有时间的key-value</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> </code><code>set</code> <code>name2 CL ex </code><code>5</code>
<code>#创建列表</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> lpush stu_list xpleaf yonghaoye CL</code>
<code>(integer) </code><code>3</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> lpush stu_list CLYYH</code>
<code>(integer) </code><code>4</code>
<code>#获取列表内容</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> lrange stu_list </code><code>1</code> <code>4</code>
<code>1</code><code>) </code><code>"CL"</code>
<code>2</code><code>) </code><code>"yonghaoye"</code>
<code>3</code><code>) </code><code>"xpleaf"</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> lrange stu_list </code><code>0</code> <code>4</code>
<code>1</code><code>) </code><code>"CLYYH"</code>
<code>2</code><code>) </code><code>"CL"</code>
<code>3</code><code>) </code><code>"yonghaoye"</code>
<code>4</code><code>) </code><code>"xpleaf"</code>
<code>#删除key-value或其它数据类型</code>
<code>127.0</code><code>.</code><code>0.1</code><code>:</code><code>6379</code><code>> del name</code>
<code>(integer) </code><code>1</code>
3.在Python交互器中使用redis
要使用Python来操作Redistribute,则需要安装Python与Redis通信的接口:
<code>apt-</code><code>get</code> <code>install python-redis</code>
在交互器中连接Redis数据库:
<code>>>> </code><code>import</code> <code>redis</code>
<code>>>> r = redis.Redis(</code><code>'127.0.0.1'</code><code>, port=</code><code>6379</code><code>, db=</code><code>0</code><code>)</code>
基本操作
<code>#查看所有的key</code>
<code>>>> r.keys()</code>
<code>[</code><code>'YourKey'</code><code>, </code><code>'stu_list'</code><code>, </code><code>'k1'</code><code>, </code><code>'k3'</code><code>]</code>
<code>>>> r.</code><code>set</code><code>(</code><code>'xpleaf'</code><code>, </code><code>'xpleaf'</code><code>)</code>
<code>True</code>
<code>#获取key所对应的value</code>
<code>>>> r[</code><code>'xpleaf'</code><code>]</code>
<code>'xpleaf'</code>
<code>或</code>
<code>>>> r.</code><code>get</code><code>(</code><code>'xpleaf'</code><code>)</code>
<code>#保存Python中的字典到Redis数据库中</code>
<code>>>> </code><code>import</code> <code>json</code>
<code>>>> myDict = {</code><code>'name'</code><code>: </code><code>'xpleaf'</code><code>, </code><code>'age'</code><code>: </code><code>21</code><code>, </code><code>'loving'</code><code>: </code><code>'cl'</code><code>}</code>
<code>>>> r[</code><code>'Py_myDict'</code><code>] = json.dumps(myDict)</code>
<code>>>> </code>
<code>>>> r[</code><code>'Py_myDict'</code><code>]</code>
<code>'{"age": 21, "name": "xpleaf", "loving": "cl"}'</code>
<code>#取出保存在Redis数据库中的Python字典</code>
<code>>>> a = json.loads(r[</code><code>'Py_myDict'</code><code>])</code>
<code>>>> a</code>
<code>{u</code><code>'age'</code><code>: </code><code>21</code><code>, u</code><code>'name'</code><code>: u</code><code>'xpleaf'</code><code>, u</code><code>'loving'</code><code>: u</code><code>'cl'</code><code>}</code>
<code>>>> a[</code><code>'name'</code><code>]</code>
<code>u</code><code>'xpleaf'</code>
<code></code>
本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1703387,如需转载请自行联系原作者