一、安装redis:

1.下载:

  1. wget http://download.redis.io/releases/redis-3.2.8.tar.gz

2.解压

  1. tar -zxvf redis-3.2..tar.gz

3.复制,放到/usr/local目录下

  1. sudo mv ./redis-3.2. /usr/local/redis

4.进入到redis目录下

  1. cd /usr/local/redis/

5.生成

  1. sudo make

6.测试,时间会比较长

  1. sudo make test

7.安装,将redis的命令安装到usr/local/bin/目录中

  1. sudo make install

8.安装成功后,进入usr/local/bin/目录中查看:

  1. cd /usr/local/bin

9.将配置文件复制放到/etc/redis目录下:

  1. sudo cp /usr/local/redis/redis.conf /etc/redis/redis.conf

可能刚开始etc下没有redis目录,需要自己手动创建一个redis文件夹。

以上在第6步的时候可能会遇到这样的问题:

  1. You need tcl 8.5 or newer in order to run the Redis test
  2. make: *** [test] Error

解决办法:安装tcl

  1. wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
  2. sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
  3. cd /usr/local/tcl8.6.1/unix/
  4. sudo ./configure
  5. sudo make
  6. sudo make install

二、 配置redis:

配置信息在/etc/redis/redis.conf下,打开sudo vi /etc/redis/redis.conf。

核心配置选项:

绑定ip:bind 127.0.0.1

端口号:port 6379

是否以守护进程运行:daemonize yes  必须改为yes

数据库文件:dbfilename dump.db  

数据库文件存储路径:dir /var/lib/redis  可改可不改,改的话提前创建好文件夹

日志文件:logfile /var/log/redis/redis-server.log  必须要改,提前创建好文件夹

数据库,默认有16个:database 16

主从复制:slaveof

配置小结:主要更改两块:1,守护进程;2.日志文件路径

三、启动redis:

1.根据配置文件启动redis服务器

  1. sudo redis-server /etc/redis/redis.conf

2.启动redis客户端:

  1. redis-cli

3.输入ping命令测试:

  1. 127.0.0.1:> ping
  2. PONG

4.关闭redis服务器:

  1. ps aux|grep redis # 查看redis进程号
  2. kill - pid redis进程号 # 关闭redis服务器

5.切换数据库:默认有16个,通过0-15来标识,默认是第一个数据库0号数据库。

  1. select n

四、redis的数据操作:

1.redis的存储格式为key-value格式。key是字符串类型,value的类型有5种:string、hash、list、set、zset。

2.redis中关于键的常见的操作:

2.1查看左右的键:keys *

2.2查看某个键是否存在,存在返回1不存在返回0:exists key1

2.3查看键的值对应的数据类型:type key1

2.4删除键值对:del key1 key2

2.5设置键的过期时间,如果没有指定默认一直存在:expire key seconds

2.6查看键的有效时间:ttl key1

2.7清空数据库:flushall

3.string类型的基本操作:

3.1保存

  • set key value  保存单个键值对
  • mset key1 value1 key2 value2  保存多个键值对
  • setex key seconds value  设置键值和过期时间
  • append key value追加值

3.2获取

  • get key  获取单个
  • mget key1 key2  获取多个

3.3删除

  • del key

4 hash类型的基本操作:

4.1保存

  1. hset key field value #设置单个属性
  2. hmset key field1 value1 field2 value2 ... #设置多个属性

4.2获取

  1. hkeys key # 获取指定键的所有属性
  2. hget key field # 获取单个属性的值
  3. hmget key field1 field2 ... # 获取多个属性的值
  4. hvals key # 获取所有属性的值

4.3删除

  1. del key # 删除整个hash的键和值
  2. hdel key field1 field2 ... # 删除属性和属性对应的值

4.4关于hash类型的个人理解:

可以将hash类型理解为用来存储对象:

5。list类型的基本操作:

5.1保存

  1. lpush key value1 value2 ... #从左侧依次插入数据
  2. rpush key value1 value2 ... #从右侧依次插入数据
  3. linsert key beforeafter 现有元素 新元素 #从指定元素的前或后插入新元素

5.2获取

  1. lrange key start stop

start、stop为元素的下标索引,从左侧开始,第一个元素为0,-1标识最后一个元素。获取所有的元素:lrange key 0 -1

5.3删除指定元素

  1. lrem key count value

将列表中前count次出现的值为value的元素移除。

count > 0: 从头到尾移除

count < 0: 从尾到头移除

count = 0: 移除所有

6.set类型的基本操作

特点:无序集合、元素唯一性不重复、没有修改操作

6.1增加元素

  1. sadd key member1 member2 ...

6.2获取元素

  1. smembers key # 返回所有元素

6.3删除指定元素

  1. srem key member1 member2 ...

7.zset类型的数据操作

特点:有序集合、元素唯一性不重复、没有修改操作、每个元素都会关联一个double类型的权重,根据权重从小到大排列

7.1增加

  1. zadd key score1 member1 score2 member2 ...

7.2获取

  1. zrange key start stop  # 根据索引获取
  2.  
  3. zrangebyscore key min max  # 获取权重在min和max之间的数据
    zscore key member  # 返回成员member的score值

7.3删除

  1. zrem key member1 member2 ... # 删除指定元素
  2. zremrangebyscore key min max #删除权重在指定范围的元素

五、redis与python进行交互:

1.在虚拟环境中安装redis包:

  1. pip install redis

2.调用模块:

  1. from redis import StrictRedis

3.创建对象:

  1. sr = StrictRedis(host='localhost', port=, db=)  # 默认就是这样的值,不写也行。

4.用sr这个对象操作redis,将redis中的命令当作函数让sr调用就ok。

六、Django框架中session存储到redis中的配置

默认情况下session是存储在数据库中的,但是当用session保存用户的状态时,用户频繁的访问服务器,会增大数据库的压力,也会降低用户访问的速度。为了解决这个问题将session存储到redis中。

第一种配置方法:(不使用Django中session默认的存储方式,直接将session存储的地方配置到redis中)

  1. # .在虚拟环境中安装包
  2. pip install django-redis-sessions==0.5.
  3.  
  4. # .在Django项目的settings文件中增加下面的配置
  5. SESSION_ENGINE = 'redis_sessions.session'
  6. SESSION_REDIS_HOST = 'localhost'
  7. SESSION_REDIS_PORT =
  8. SESSION_REDIS_DB =
  9. SESSION_REDIS_PASSWORD = ''
  10. SESSION_REDIS_PREFIX = 'session'

第二种配置方法:(先将Django中的缓存设置为redis,然后将session的存储地方设置为Django的缓存中)

  1. #.先在虚拟环境中安装包
  2. pip install django_redis
  3.  
  4. #. 设置redis作为django的缓存设置
  5. CACHES = {
  6. "default": {
  7. "BACKEND": "django_redis.cache.RedisCache",
  8. # 把这里缓存你的redis服务器ip和port
  9. "LOCATION": "redis://172.16.179.142:6379/12",
  10. "OPTIONS": {
  11. "CLIENT_CLASS": "django_redis.client.DefaultClient",
  12. }
  13. }
  14. }
  15.  
  16. # .设置redis存储django的session信息
  17. SESSION_ENGINE = "django.contrib.sessions.backends.cache"
  18. SESSION_CACHE_ALIAS = "default"

在Django中使用redis:包括安装、配置、启动。的更多相关文章

  1. 用Python来操作redis 以及在Django中使用redis

    什么是Redis? Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包 ...

  2. 浅谈Redis及其安装配置

    一.Redis的介绍 二.Redis的安装配置 三.Redis的配置文件说明 四.Redis的简单操作 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型. ...

  3. python连接redis、redis字符串操作、hash操作、列表操作、其他通用操作、管道、django中使用redis

    今日内容概要 python连接redis redis字符串操作 redis之hash操作 redis之列表操作 redis其他 通用操作,管道 django中使用redis 内容详细 1.python ...

  4. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

  5. Django day35 redis连接池,redis-list操作,django中使用redis,支付宝支付

    一:redis连接池, 二:redis-list操作, 三:django中使用redis, 四:支付宝支付

  6. docker安装redis,并用配置启动

    1.拉取redis镜像 docker pull redis 2.创建redis本地配置文件 ①.去redis官网下载redis,获取redis.conf文件 ②.修改redis.conf文件相关配置, ...

  7. Ubuntu16.04中Mysql 5.7 安装配置

    记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...

  8. Centos7:Redis的安装,配置及使用

    安装依赖与环境 yum install gcc-c++ 解压缩redis 编译,进入redis源码目录 make 安装 make install PREFIX=/usr/local/redis 注:P ...

  9. redis的安装部署启动停止<17.3.21已更新>

    --------------------------------------------------------- 启动redis时使用下面两条命令: redis-server /etc/redis. ...

随机推荐

  1. 【01】JSON基本信息

    [魔芋注] 就是一种格式,数据组合的格式.   JSON:JavaScript 对象表示法(JavaScript Object Notation).JSON 是存储和交换.传输(数据)文本信息的语法( ...

  2. type="timestamp"与type="date"区别

    type="timestamp"-----数据库中保存的时间为年月日时分秒 与type="date"---------数据库中保存的时间为年月日

  3. git删除远程remote分支

    git 命令如下: git push origin --delete <远程分支名字>

  4. 最长上升子序列的回溯 ZOJ 2432

    题目大意: 找一组最长上升公共子序列,并把任意一组满足的情况输出出来 最长公共上升子序列不清楚可以先看这篇文章 http://www.cnblogs.com/CSU3901130321/p/41826 ...

  5. [luoguP3565] [POI2014]HOT-Hotels(dfs)

    传送门 三点在树上距离相等的情况只有一种,就是以某一个点为中心,三个点到这个点的距离相等. 所以直接枚举每个点作为中心,dfs这个中心的子树,根据乘法原理统计答案即可. 时间复杂度 O(n2) (n ...

  6. hdu 1185 状压dp 好题 (当前状态与上两行有关系)

    /* 状压dp 刚开始&写成&&看了好长时间T0T. 状态转移方程 dp[i][k][j]=Max(dp[i][k][j],dp[i-1][l][k]+num[i][j]);( ...

  7. poj 1364 查分约束

    #include<stdio.h> #include<iostream> #include<stack> #include<string.h> usin ...

  8. [bzoj1617][Usaco2008 Mar]River Crossing渡河问题_动态规划

    River Crossing渡河问题 bzoj-1617 Usaco-2008 Mar 题目大意:题目链接. 注释:略. 想法:zcs0724出考试题的时候并没有发现这题我做过... 先把m求前缀和, ...

  9. python基础学习之02 序列

    #encoding=utf-8 import math a=[1,23,4,5,6] print a a[1:1]=[2,3,5] print a a a[1]='a' print a a[1]={1 ...

  10. [Vue @Component] Control Template Contents with Vue's Render Function

    Declaring templates and elements inside of templates works great for most scenarios. Sometimes you n ...