Redis

特点

是一种数据库,key-value存储系统
可基于内存亦可持久化的日志型,解决了断电后数据完全丢失的情况
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

对比Memcached

存储数据安全–memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
memcache还可用于缓存其他东西,例如图片、视频等等
扩展:redis和memcached的区别(总结)
扩展:Redis与Memcached的区别

Redis配置

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。
redis 127.0.0.1:6379> CONFIG GET/SET CONFIG_SETTING_NAME
扩展:菜鸟教程http://www.runoob.com/redis/redis-conf.html

数据类型

String(字符串)

key-“…”
二进制安全、512M
扩展:什么是二进制安全——只关心二进制化的字符串,不关心具体格式.只会严格的按照二进制的数据存取。不会妄图已某种特殊格式解析数据。(意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。)

set name 'lxn'      # name是key,‘lxn’是value
get name
字符串命令

http://www.runoob.com/redis/redis-strings.html

Hash(哈希)

key: field1-value, field2-value,..、每个 hash 可以存储 2的32次方 -1 键值对

HMSET user:1 username runoob password runoob points 200 # hash many set
HGETALL user:1      hash get all
# user:1key,username runoob password runoob points 200是集合(无序)      

List(列表)

key-[…., …, …]
Redis 列表是简单的字符串列表,按照插入顺序排序。
你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
一个list可存储 2的32次方 - 1 元素

lpush runoob redis      #runoob是key redis要左加入list的值
lrange runoob 0 10      #左取runoob(key)对应的list

Set(集合)

key-{…, …, …}
string类型的无序集合、唯一、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)

sadd key member     # 加
members key         # 取

zset(sorted set:有序集合)

key-{…, …, …} 按score排序
string类型元素的有序集合,且不允许重复的成员。
每个元素都会关联一个double类型的分数score。redis正是通过分数来为集合中的成员进行从小到大的排序。(score值可以重复)

zadd key score member       # member存在则跟新score
ZRANGEBYSCORE runoob 0 1000

其他

执行

resdis-server
redis-cli -h host -p port -a password
ping        # 检测 redis 服务是否启动(pong)

键命令

http://www.runoob.com/redis/redis-keys.html

命令猜测

get
set
m : many 会出现列表
range: 会有start end 包含两头
bit:位,key后边紧跟offset
EX:过期,key后边紧跟
nx:不存在时才执行
strlen:长度
p:毫秒
incr:值增加1
incrby:key后边会有一个值
float:浮点
decr:减一
decrby:
append:追加字符串

通用

redis数据库:默认0~15,可配置个数,切换命令select index
redis端口:6379

应用

注意redis的返回值:int,list,None,bool,1/0,

rs = App.get_rs(‘rs_activity’) 选择数据库index 
score = rs.zscore(rs_quiz_billboard_daily, user_id)
int(rs.hget(cls.RS_SITE_D_CONF, now_h_m_str) or 0) key不存在时返回None 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值