[ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis

时间:2023-03-09 09:28:09
[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.****.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.****.net/softwave/article/details/53838194