redis是一个key-value存储系统。和Memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操做,并且这些操做都是原子性的。在此基础上,redis支持各类不一样方式的排序。与memcached同样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操做写入追加的记录文件,而且在此基础上实现了master-slave(主从)同步。python
(1)添加mysql
将字符串值value关联到key。若是key已经存在值,set命令会覆盖以前的值。默认的过时时间是永久。redis
set key value
(2)设置键值及过时时间,以秒为单位sql
setex key seconds value
(3)设置多个键值数据库
mset key1 value1 key2 value2 ...
(4)追加值django
append key value
(5)获取vim
get key
(6)获取多个键获取多个值缓存
mget key1 key2 ...
(7)删除服务器
del username
(1)查看全部键session
keys *
(2)查看名称中包含a的键
keys 'a*'
(3)判断键是否存在,若是存在返回1,不存在返回0
exists key1
(4)删除键及对应的值
del key1 key2 .
(5)设置过时时间,以秒为单位
expire key seconds
(6)查看有效时间,以秒为单位
ttl key
(1)设置单个属性
hset key field value
(2)设置多个属性
hmset key field1 value1 field2 value2 ..
(3)获取指定键全部的属性
hkeys key
(4)获取⼀个属性的值
hget key field
(5)获取多个属性的值
hmget key field1 field2
(6)获取全部属性的值
hvals key
(7)删除整个hash键及值,使⽤del命令
hdel key field1 field2 ...
(1)在左侧插⼊数据
lpush key value1 value2 ...
(2)在右侧插⼊数据
rpush key value1 value2 ...
(3)在指定元素的前或后插⼊新元素
linsert key before或after 现有元素 新元素
(4)返回列表⾥指定范围内的元素
lrange key start stop
(5)设置指定索引位置的元素值
lset key index value
(6)删除指定元素
lrem key count value
说明:对于集合没有修改操做
(1)添加元素
sadd key member1 member2 ...
(2)获取全部的元素
smembers key
(3)删除指定元素
srem key
(1)添加
zadd key score1 member1 score2 member2 ...
(2)获取
索引能够是负数,表示从尾部开始计数,如-1表示最后⼀个元素
zrange key start stop
(3)返回score值在min和max之间的成员
zrangebyscore key min max
(4)返回成员member的score值
zscore key member
(5)删除指定元素
zrem key member1 member2 ...
(6)删除权重在指定范围的元素
zremrangebyscore key min max
redis事务能够一次执行多个命令,事务具备如下特征:
(1)开启一个事务
multi
之后执行的全部命令,都将在这个事务中执行。
(2)执行事务
exec
会将在multi和exec中的操做一并提交
(3)取消事务
discard
会将multi后的全部命令取消
(4)监视一个或者多个key
watch key .......
监视一个或多个key,若是在事务执行以前这个key被其它命令所改动,那么事务将被打断。
(5)取消全部key的监视
unwatch
(1)设置密码
vim /etc/redis.conf
打开配置文件,而后按“/”搜索“requirepass”,再按‘n’找到‘requirepass xxxxx’,取消注释,在后面加上要设置的密码 requirepass 123456.
(2)本地链接
redis-cli -p 6379 -h 127.0.0.1 -a 123456
能够在链接的时候,经过‘-a’参数指定密码进行链接,也能够先登陆上去,而后再使用‘auth password’命令进行受权。
(3)其它机器链接redis
若是想让其它机器链接本机的redis服务器,那么应该在‘redis.conf’配置文件中,指定“bind 本机的ip地址”,这样别的机器就能链接成功了。
vim /etc/redis.conf
按‘/’搜索‘bind’,后面指定本身机器的ip
(1)安装
pip install redis
(2)链接
from redis import Redis cache = Redis(host="139.199.131.146",port=6379,password=123456)
(3)字符串操做
cache.set('uers','derek') cache.get('users') cache.delete('users')
(4)列表操做
cache.lpush('users','tom') print(cache.lrange('users',0,-1))
(5)集合的操做
cache.sadd('group','CEO') print(cache.smembers('group'))
(6)哈希的操做
cache.hset('person','name','derek') print('cache.hgetall('person')')
(7)事务的操做
pip = cache.pipeline() pip.set('username','derek') pip.set('password','123456') pip.execute()
pip install django-redis-sessions==0.5.6
SESSION_ENGINE = 'redis_sessions.session' SESSION_REDIS_HOST = 'localhost' SESSION_REDIS_PORT = 6379 SESSION_REDIS_DB = 2 SESSION_REDIS_PASSWORD = '' SESSION_REDIS_PREFIX = 'session'