redis是什么?
redis(remote dictionary server),是一个典型以KV键值对 nosql数据库,是使用C语言编写的。
redis安装
下载地址http://redis.io/download
安装步骤:
1 首先需要安装gcc,把下载好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夹下
2 进行解压
tar -zxvf redis-3.0.0-rc2.tar.gz
3 进入到redis-3.0.0目录下,进行编译
make
4 进入到src下进行安装 make install 验证(ll查看src下的目录,有redis-server 、redis-cil即可)
make install
5 建立俩个文件夹存放redis命令和配置文件
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
6 把redis-3.0.0下的redis.conf 移动到/usr/local/redis/etc下,
cp redis.conf /usr/local/redis/etc/
7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server
文件移动到bin下,命令:
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-
dump redis-cli redis-server /usr/local/redis/bin
8 启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以修改redis.conf里的 daemonize 改为yes)
./redis-server /usr/local/redis/etc/redis.conf
9 验证启动是否成功:
ps -ef | grep redis 查看是否有redis服务 或者 查看端口:netstat -tunpl | grep 6379
ps -ef | grep redis
netstat -tunpl | grep 6379
进入redis客户端 ./redis-cli 退出客户端quit
退出redis服务:
(1)pkill redis-server 、
(2)kill 进程号、
(3)/usr/local/redis/bin/redis-cli shutdown
redis配置文件
1、bind ip
2、requirepass 密码
3、port
4、两种持久化技术--快照 、aof
5、slaveof slaveof 192.168.13.4 6379
masterauth 密码
redis有五种基本数据类型
string 字符串
hash 对象
list 列表
set 集合
zset 有序集合
字符串的命令:
set key value # 保存一个键值对
get key # 通过key来去对应的值
mset key1 v1 k2 v2... # 一次保存多个键值对
mget k1 k2 k3 # 通过key来去对应的值
setex key second value # 保存一个键值对,同时规定它的失效时间(second)
incr key # 对key对应值 加一,注意,只对数据字符串有效
incrby key value # 对key对应值 加value
decr key # 对key对应值 减一,注意,只对数据字符串有效
decrby key value # 对key对应值 减value
strlen key # 求key对应值的长度
append key value # 对key对应的值进行新的拼接
setnx key vaule # 如果存在key,则无效,如果不存在,则保存该键值对
hash命令:主要用来存储对象的
u1 = User(1, "beibei", 18, "zhengzhou")
u2 = User(2, "xzh", 20, "zhengzhou")
hset key field value # 存储key对应属性field的值
hget key field # 获取key对应属性field的值
hmset key f1 v1 f2 v2...# 存储key对应多个属性field的值
hmget key f1 f2... # 获取key对应多个属性field的值
hgetall key # 获取key对象所有属性和对应的值
hkeys key # 获取key对象的所有属性的名称
hvals key # 获取key对象的所有属性的值
hlen key # 获取key的所有属性个数
hstrlen key field # 获取key对应的属性的值的长度
hexists key field # 判断某个对象是否存在该属性
hsetnx key field value # 判断对象的属性是否存在,存在则不操作,不存在,则保存
hincrby key field value # 对对象的属性(必须是数字字符串)进行加法运算
key操作
keys * # 查询当前数据库中所有key的个数
exists key # 判断某个key是否存在在当前数据库
del key # 删除对应的key
type key # 判断key的类型
expire key second value # 为一个存在的key设置一个失效时间
ttl key # 查看key的失效时间 -2表示不存在 -1 永久存在 正数表示存活的秒数
move key db # 移动key到db数据库中
select index # 切换数据库
info [xxxx] # 查看当前数据库的状态
dbsize # 返回当前数据库的key的个数
flushdb # 删除当前数据库的所有数据
flushall # 删除所有数据库的所有数据
persist key # 让key永久保存
list命令
lpush key v1 v2... # 从左侧将值放入list中
rpush key v1 v2... # 从右侧将值放入list中
lrange key start end # 循环显示list
linsert key b|a piovt v # 将值插入到对应的位置
lpop key # 从左侧删除第一个元素
rpop key # 从右侧删除最后一个元素
llen key # 获取list的长度
ltrim key start stop # 切割列表
lindex key index # 获取索引位对应的元素