[ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis
# 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的更多相关文章
- Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
- Python操作redis学习系列之(集合)set,redis set详解 (六)
# -*- coding: utf-8 -*- import redis r = redis.Redis(host=") 1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合 ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- Python学习笔记(五)之Python操作Redis、mysql、mongodb数据库
操作数据库 一.数据库 数据库类型主要有关系型数据库和菲关系型数据库. 数据库:用来存储和管理数的仓库,数据库是通过依据“数据结构”将数据格式化,以记录->表->库的关系存储.因此数据查询 ...
- python操作Redis安装、支持存储类型、普通连接、连接池
一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...
- Python操作redis系列之 列表(list) (四)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...
- Python操作redis系列之 列表(list) (五)(转)
# -*- coding: utf-8 -*- import redis r =redis.Redis(host=") 1. Lpush 命令将一个或多个值插入到列表头部. 如果 key 不 ...
- Python操作redis系列之 列表(list) (五)
# -*- coding: utf- -*- import redis r =redis.Redis(host=,password=") 1. Lpush 命令将一个或多个值插入到列表头部. ...
- python 操作redis之——HyperLogLog (八)
#coding:utf8 import redis # python 操作redis之——HyperLogLog r =redis.Redis(host=") # 1.Pfadd 命令将所有 ...
随机推荐
- P2447 [SDOI2010]外星千足虫
怎么说呢? 因为是在mod 2 意义下的吗(一般是遇到二就可能是位运行算或二分图) 就可以利用异或计算. 因为奇数和偶数在二进制上就用判断最后一位就可以了 然后因为异或符合交换律和结合律 直接消元就可 ...
- 旧文备份:windows下编译和使用IT++
1.下载IT++最新版:<a href="http://sourceforge.net/projects/itpp/">http://sourceforge.net/p ...
- caffe中的sgd,与激活函数(activation function)
caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...
- AMD、CMD和CommonJS规范(转)
CommonJS规范 CommonJS是在浏览器环境之外构建JavaScript生态系统为目标产生的项目,比如服务器和桌面环境中.CommonJS规范是为了解决JavaScript的作用域问题而定义 ...
- What is JPA
What is JPA JPA可以看做是EJB3.0的一部分,但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用中使用.JPA只是一种Java持久化标准,它意在规范ORM(对象关系映射模型) ...
- cordova创建工程添加插件
创建工程 phonegap创建工程 代码 用以创建自己需要的 工程名 ; 报名 ;类名 ; 应用名 cordova create hello com.example.hello HelloWo ...
- $.each() 循环遍历完后阻止再执行的办法
jquery each循环遍历完再执行的方法 因为each是异步的 所以要加计数器. query each循环遍历完再执行的方法 因为each是异步的 所以要加计数器.var eachcount=0; ...
- Navicat-12.0.26的激活
1.卸载掉早期版本,卸载干净,然后安装最新版Navicat(使用群文件中Iobit uninstaller8卸载) 2.安装完成后将破解补丁复制到安装目录下,运行破解补丁. 4.先patch,然后选择 ...
- scrapy--matplotlib
昨天晚上看了一些关于保存文件的相关资料,早早的睡了,白天根据网上查找的资料,自己再捡起来.弄了一上午就爬取出来了,开心!!!好吧,让我们开始 老规矩,先上图.大家也赶快行动起来 分类文件: 文件内co ...
- MySQL忘记密码怎么重置
1打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证.注意输入此命令之后 ...