# 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. java 基础词汇 必须 第九天

    Collection 集合 List 列表集合 Set 不重复集合 Linked 链表 Vector 线程安全集合 Hash 哈希值 tree 树型结构 Map 键值对集合 add 增加 remove ...

  2. Inventory Update-freecodecamp算法题目

    Inventory Update 1.要求 依照一个存着新进货物的二维数组,更新存着现有库存(在 arr1 中)的二维数组. 如果货物已存在则更新数量 . 如果没有对应货物则把其加入到数组中,更新最新 ...

  3. CMD批处理复制目录下所有文件

    从我接触编程时,WIN7已经是最普及的系统了. 有一天,我需要在服务器更新某个软件或游戏的时候,我都需要先在其中一台服务器下载更新, 然后同步到其他服务器,而且这种操作也是非常频繁的,我就想写个批处理 ...

  4. AWS CentOS7 实例修改主机名

    问题描述: AWS EC2 实例在升级到CentOS7以后,我们发现主机名的修改不再像之前的版本(CentOS 5/6)一样简单. 每次新建实例之后,修改好主机名,重启或者克隆之后的机器,主机名还是会 ...

  5. (转)Unity 和 Cocos2d-x 越渐流行,国内公司开发「自研游戏引擎」的意义何在?

    分几个角度来说:一.我认为,Unity3D将无可挽回的,或者说,势在必得的,成为接下来很多年内,世界移动领域游戏引擎市场霸主.回顾历史,正如同咱们经历过一次又一次的互联网时代变革一样,x86,wind ...

  6. (转)Clang 比 GCC 编译器好在哪里?

    编译速度更快.编译产出更小.出错提示更友好.尤其是在比较极端的情况下.两年多前曾经写过一个Scheme解释器,词法分析和语法解析部分大约2000行,用的是Boost.Spirit--一个重度依赖C++ ...

  7. Facebook Reporting API -- Facebook 数据导出API

    1.获取token 浏览器打开 "访问口令工具" (FB链接请FQ)  https://developers.facebook.com/tools/accesstoken/ App ...

  8. #Python编程从入门到实践#第四章笔记

    #Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...

  9. 不同级域名中的 Cookie 共享

    HTTP 响应头中 Set-Cookie 行未指定 domain 时则设置访问的域名 seliote.com 可以设置 seliote.com(也可以写成 .seliote.com 意思一样) 与 w ...

  10. 通过IIS共享文件夹来实现静态资源"本地分布式"部署

    以下以文件型数据库(如sqlite)为例 楼主话:以下内容,若有不专业处,大胆喷,虚心求教. 起因:要进行一个项目的分布式部署,而这个项目所涉及的其中一个数据库为sqlite(经测试,同为文件型数据库 ...