Redis 与 Python-redis基本命令备忘
2016-10-27 22:06
387 查看
需求
笔试题目的项目中遇到多终端登录问题,需要使用缓存机制,之前new_gotit也使用了redis,只需要一些简单的功能,故写一下基本命令以备忘之需。Redis简介
官方说明:__
Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
__
蹩脚的中文说明:
来自 http://www.redis.net.cn/
__
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
__
Redis 基本操作
Redis的安装
Ubuntu为例:sudo apt-get install redis-server
然后终端中输入
redis-cli测试是否安装成功。
Redis基本命令
原生redis命令因为暂时用不到,就不写这一块了,之后有需求再写。使用python来操作Redis
python-redis 的安装
pip安装命令:pip install redis
使用easy_install 安装:
easy_install redis
基本命令
打开交互命令终端,导入redis模块并创建实例对象>>> import redis >>> r = redis.Redis(host='localhost', port=6379, db=0) #如果设置了密码,就加上password=密码
保存key-value对
>>> r.set('foo', 'bar') True
或者写成:
>>> r['foo'] = 'bar' True
获得value值
>>> r.get('foo') 'bar'
删除key-value对
>>> r.delete('foo') True
查看所有数据
>>> r.dbsize() # 查看数据库key的数量,即有多少条数据 1L >>> r.keys() # 列出所有键值 ['foo']
删除当前数据库的所有数据
>>> r.flushdb() True >>> r.dbsize() # 再次查看数据数量 0L
如何存储json类型数据到redis?
比如现在有数据data = {"ip":"127.0.0.1", "host":"localhost"},我们可以将变量
data作为value写入redis,命令如下:
>>> r.set('key', data) True
这样就将变量
data作为
key的value存入redis了,但是如果我们使用时,
r.get('key') "{'ip': '127.0.0.1', 'host': 'localhost'}"
会发现,输出的值已经被转换成字符串类型的了,这样我们在python中就无法使用dict来操作,解决方法是将字符串转换成dict:
>>> test_str = r.get('key') >>> type(test_str) <type 'str'> >>> test_dict = eval(test_str) >>> type(test_dict) <type 'dict'> >>> test_dict['ip'] '127.0.0.1'
列表类型的数值如何存?
看了不少博客并没有找到如何直接将list类型的值写入redis的value(之前写入value的都是str类型),暂采取python中list和str相互转换实现吧,之后如果找到更好的办法再更新。实现:
>>> a = [1, 2, 3, 4] >>> r.set('list_str',a) True >>> b = r.get('list_str') >>> b '[1, 2, 3, 4]' >>> type(b) <type 'str'> >>> c = list(eval(b)) >>> c [1, 2, 3, 4] >>> type(c) <type 'list'>
以上。
相关链接
Redis官网Redis中文版
Python-redis官方介绍
Redis-py Github地址
相关文章推荐
- Redis 基本命令备忘
- 【python】redis基本命令和基本用法详解
- Redis命令一:基本操作篇
- Redis2.6.13 服务器搭建完成后,启动脚本,基本命令操作
- 004redis的基本命令+help的用法
- redis基本命令之一:字符串、散列、列表
- redis基本命令学习
- 【备忘】使用FME PythonCaller的基本代码结构
- redis基本数据类型和常用命令操作
- Redis常用的命令(二)------key的基本操作
- adb 基本命令备忘
- Redis基本命令
- Redis命令(一)基本keys操作命令
- [redis管理] 之 基本命令
- redis基本操作命令(一)
- Linux命令备忘实例(6)——排序和基本统计命令
- linux基本命令备忘(持续更新)
- redis安装与基本命令入门
- (10-2)redis 基本命令
- redis基本命令及应用场景