# redis安装

# redis安装教程

    -- 服务器(ubuntu)安装redis服务
sudo apt-get install redis-server -- 源码安装
-- $ wget http://download.redis.io/releases/redis-4.0.6.tar.gz
$ tar xzf redis-4.0..tar.gz
$ cd redis-4.0.
$ make # 编译,需要先安装gcc
$ make install # 安装成功之后,会自动将可执行文件(6个)拷贝到/etc/init.d/里面 -- 安装成功之后
-- 输入命令redis-server,启动redis服务 -- 测试,进入自带的redis客户端: 输入命令redis-cli
-- 输入ping,会返回PONG,说明安装成功 # redis配置教程
http://blog.csdn.net/qq_30242609/article/details/52913145 -- redis配置访问密码 -- redis设置允许远程访问
# bind 127.0.0.1 -- redis设置开机自启动(未做) # redis检测
#检测后台进程是否存在
ps -ef |grep redis #检测6379端口是否在监听
netstat -lntp | grep #使用`redis-cli`客户端检测连接是否正常
./redis-cli 127.0.0.1:> keys *
(empty list or set)
127.0.0.1:> set key "hello world"
OK
127.0.0.1:> get key
"hello world" # redis 启动 - 命令启动 redis-server - 配置文件启动
修改配置文件:redis.conf (/root/redis_dir/redis-4.0./redis.conf)
#修改daemonize为yes,即默认以后台程序方式运行(还记得前面手动使用&号强制后台运行吗)。
daemonize no
#可修改默认监听端口
port
#修改生成默认日志文件位置
logfile "/home/futeng/logs/redis.log"
#配置持久化文件存放位置
dir /home/futeng/data/redisData -- 配置启动
redis-server /root/redis_dir/redis-4.0./redis.conf -- 打开redis客户端 redis-cli -p
>> ping hello # redis关闭
- redis-cli
>> shutdown
# 查看是否已经关闭
- netstat -lntp |grep

#2 redis快速教程

# reids操作教程http://try.redis.io/
# value字符串数据 - 增加一条字符串记录ranking:category为key, "hello"为value
set ranking:category "hello" - 获取ranking:category的值
get ranking:category # value整数数据
- 增加一条数字记录
set views - 自增views
incr views # 得到结果为11 - 删除key,value # 只是将views的值清0,而已
del views
此时还可以incr views # 客户端运行结果展示
127.0.0.1:> set views
OK
127.0.0.1:> incr views
(integer)
127.0.0.1:> del views
(integer)
127.0.0.1:> incr views
(integer)
127.0.0.1:> # value列表数据
增加一条列表记录,(value为列表), redis支持列表,rpush, lpush,llen, lrange, lpop,rpop - 从列表头部插入数据
lpush friends "lzp" , key为friends, value为列表,“lzp"为列表的元素 - 从列表尾部插入数据
rpush friends "dd" - 对列表切片
lrange friends - # 从头到尾
lrange friends - 计算列表的长度llen
llen friends - 从列表头部出栈,并获取该元素
lpop friends
- 从列表尾部出栈,并获取该元素
rpop friends # 客户端展示
127.0.0.1:> lpush friends "lzp"
(integer)
127.0.0.1:> rpush friends "lzp"
(integer)
127.0.0.1:> rpush friends "dd"
(integer)
127.0.0.1:>
127.0.0.1:> lrange friends -
) "lzp"
) "lzp"
) "dd" 127.0.0.1:> llen friends
(integer)
127.0.0.1:> lpop friends
"lzp"
127.0.0.1:> rpop friends
"dd"
127.0.0.1:> # value为set(无序,且元素只能出现一次)add, remove, ismember, members, union(求并集)
-- sadd, srem, sismember, smembers, sunion - 往set增加元素
sadd supervisors "fligh"
sadd supervisors "lzp"
- 从set删除某个元素
srem supervisors "lzp" - 判断是否为set的成员, 1表示是,0表示不是
sismember supervisors "lzp" - 得到set的所有元素
smembers supervisors - 求两个set的并集
sadd set1 "lzp"
sadd set1 "wy"
sadd set2 "hr"
sunion set1 set2 # value为有序集合sorted set; sorted set有 key, value, score, 普通的set 有key ,value
- 往sorted set添加数据
zadd student "alen" # 1940就是score, 这里是出生年份
zadd student "lzp"
zadd student "wy"
zadd student "ww"
- 获取student的数据,
zrange student - # 客户端练习
127.0.0.1:> zadd student "alen"
(integer)
127.0.0.1:> zadd student "lzp"
(integer)
127.0.0.1:> zadd student "wenyi"
(integer)
127.0.0.1:> zadd student "ww"
(integer)
127.0.0.1:> zrange student -
) "ww"
) "lzp"
) "wenyi"
) "alen"
127.0.0.1:> # hash --->字符串和value的映射,比如name 和“liuzhipeng"的映射, age 和 13的映射, email 和”liucpliu@sina.cn"的映射
--格式 hset key string value
hset user: name "liuzhipeng"
hset user: age
hset user: email "liucpliu@sina.cn" -- 一次性插入数据
hset user: name "wenyi" age email "ww@sina.cn" -- 获取用户的所有信息
127.0.0.1:> hgetall user:
) "name"
) "lzp"
) "age"
) ""
) "email"
) "liucpliu@sina.cn" -- 获取用户的某部分信息
127.0.0.1:> hget user: name
"lzp"
127.0.0.1:> hget user: email
"liucpliu@sina.cn" -- hash里面数字自增
hincrby user: age
hincrby user: age

#3 将redis作为服务

、配置服务脚本

    # step1
redis源码目录下有个utils目录,里面有redis_init_script文件,将其拷贝到/etc/init.d/目录下,并重名为redisd sudo cp utils/redis_init_script /etc/init.d/redisd # step2
修改该文件
sudo vim /etc/init.d/redisd # redisd
REDISPORT=
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf" 、配置文件 # setp1 源码根目录下有个redis.conf的配置文件,复制并修改名称,注意这个名称和上面的/etc/redis/${REDISPORT}.conf的配置对应。 sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/.conf # step2 打开文件修改的内容如下: #设置后台运行
daemonize yes
#设置log文件路径
logfile /vagrant_data/var/log/redis/redis-server.log
#设置持久化文件存放路径
dir /vagrant_data/var/lib/redis
注意:上面的几个目录是没有的,需要事后创建文件夹
# step3
sudo mkdir -p /vagrant_data/var/log/redis
sudo mkdir -p /vagrant_data/var/lib/redis 、使用update-rc.d注册服务 #设置服务脚本有执行权限
sudo chmod +x /etc/init.d/redisd
#注册服务
cd /etc/init.d/
sudo update-rc.d redisd defaults 、服务常用命令 #启动Redis服务
sudo service redisd start
#关闭服务
sudo service redisd stop
#重启服务:
sudo service redisd restart 、排错 上面设置的服务不一定能正常启动,通常可以使用/etc/init.d/redisd start运行,然后进去/var/log/redis/目录下查看日志来排除错误,这个路径就是服务脚本设置的路径。 参考: http://blog.csdn.net/softwave/article/details/53838194

[ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis的更多相关文章

  1. Python操作redis系列以 哈希(Hash)命令详解(四)

    # -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...

  2. Python操作redis学习系列之(集合)set,redis set详解 (六)

    # -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...

  3. redis学习 (key)键,Python操作redis 键 (二)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...

  4. Python学习笔记(五)之Python操作Redis、mysql、mongodb数据库

    操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询 ...

  5. python操作Redis安装、支持存储类型、普通连接、连接池

    一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...

  6. Python操作redis系列之 列表(list) (四)

    # -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...

  7. Python操作redis系列之 列表(list) (五)(转)

    # -*- coding: utf-8 -*- import redis r =redis.Redis(host=") 1. Lpush 命令将一个或多个值插入到列表头部. 如果 key 不 ...

  8. Python操作redis系列之 列表(list) (五)

    # -*- coding: utf- -*- import redis r =redis.Redis(host=,password=") 1. Lpush 命令将一个或多个值插入到列表头部. ...

  9. python 操作redis之——HyperLogLog (八)

    #coding:utf8 import redis # python 操作redis之——HyperLogLog r =redis.Redis(host=") # 1.Pfadd 命令将所有 ...

随机推荐

  1. Spring boot 集成 Swagger

    添加依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa ...

  2. java Web 常见错误集锦 及解决方法

    只能删除pid为整数的商品,32位的pid商品不能删除? 原因onclick="agree('${s.pid}')"  括号中需要加 ' ' 删除多余的工作空间? 使用prefer ...

  3. mpvue项目中安装weui

    观察一下发现,mpvue项目打包css的规律是:根组件App.vue里的style样式全部打包到 dist  /  static / css / app.wxss ..   参照微信小程序的原生引入使 ...

  4. 转:mysql远程连接 Host * is not allowed to connect to this MySQL server

    在本机登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为'%' ...

  5. 原生js关闭窗口

    if (navigator.userAgent.indexOf("MSIE") > 0) { if (navigator.userAgent.indexOf("MS ...

  6. UIView控件 概况

    一.UIKit结构图 ------------------------------------------------------------------------------- @interfac ...

  7. C语言基础篇(二)运算符

    导航: 2.1 算数运算符 2.2 逻辑运算符 2.3 位运算 2.4 赋值运算 2.5 内存访问符号 ----->x<------------->x<------------ ...

  8. Codeforces Round #428 (Div. 2) C. dfs

    C. Journey time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  9. C语言进阶——变量属性05

    C语言变量属性: C语言的变量可以有自己的属性 在定义变量的时候加上“属性”关键字 “属性”关键字指明变量的特有意义 语法:property type value_name; auto关键字: aut ...

  10. Permute Digits 915C

    You are given two positive integer numbers a and b. Permute (change order) of the digits of a to con ...