redis
Linux下搭建环境
- 安装C开发环境,安装gcc
- yum install gcc-c++ tcl
- 为了避免安装失败 ,同时安装 tcl (yum -y install tcl)
- 编译redis cd redis(redis的解压目录)
1)安装redis编译的c环境,yum install gcc-c++
2)将redis***.tar.gz上传到Linux系统中
3)解压到/usr/local下 tar -xvf redis***.tar.gz -C /usr/local
4)进入redis***目录 使用make命令编译redis
5)在redis***目录中 使用make PREFIX=/usr/local/redis install命令安装 redis到/usr/local/redis目录中
6)拷贝redis-2.6.16中的redis.conf到安装目录redis中
7)启动redis 在bin下执行命令redis-server redis.conf
8)如需远程连接redis,需配置redis端口6379在linux防火墙中开发
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
/etc/rc.d/init.d/iptables save
9)连接 redis-cli [-h ip -p 端口]
安装可能遇到的问题
1:源码是官网configure 之后的,但是官方configure时,生成的文件有时间戳,make只能发生在这个时间戳之后,如果需要修改时间 使用 date -s 'yyyy-mm-dd hh:mm:ss'
2:如果机器是32位的,可能需要make 32bit(我是64位机器,没机会尝试这个是否会发生)
- 设置后台启动:将redis.conf文件中的daemonize从no修改成yes表示后台启动
- 使用命令查看6379端口是否启动ps -ef | grep redis
- 连接redis服务口,用客户端发送ping 会返回pong表示正常联同
安装后的文件说明
- redis-benchmark 性能测试工具
- redis-check-aof 日志文件检测工具(例如断电造成日志损坏,可以检测并修复)
- redis-check-rdb
- redis-cli redis客户端
- redis-server redis服务器
通用命令
- keys pattern 模糊查询
- ”* :通配任意字符 keys *
- ? :通配一个字符
- [] : 通配里面任意个字符
- 删除 键 del key1 key2 …… 返回真正删除的key的数量(不存在的key不计算)
- rename key newkey 重命名 key(如果新名字存在 将会覆盖)
- renamenx key newkey 重命名key(修改成功返回1 ,为发生动作返回0)
- move key db 移动到新的db中 默认在db0 共有16个db
- select index 选择db (需要更多的数据库 修改 databases 的值)
- RANDOMKEY 随机返回一个 key
- exists key key2 key3 判读是否存在 返回存在的个数
- type key 返回存储的值类型
- ttl key 返回key的生命周期(秒是单位),-1表示永久存在 -2 表示 key不存在
- expire key 数值 以秒为单位设置生命周期
- pexpire pttl 以毫秒 设置 查看生命周期
- persist key 设置永久有效
1.数据类型
- 字符串 String
- 哈希 hash
- 字符串列表 list
- 字符串集合 set
- 有序字符串集合 sorted set
2 get set del
1 String 型
get set del
2 数值增减
1:
incr key 加一 不能存在,初始值为0 结果会为1
2:
decr key 减一 不存在初始值为 0 ,结果为 -1
3 存储 hash (可以看成map容器 )
1: 赋值
(单个键值)
hset key filed value :eg hset myhash username jack
(多个键值)
hmset myhash2 username jack age 12
2: 取值
hget key field
hmget key field1 field2
(获取所有的key)
hgetall key
3: 删除
hdel key field [field2]
4:增加数字
hincrby key field increment
eg: hincrby myhash age 12
5:判断 key中 filed是否存在 hexists key field
6:hlen key 获取key所包含的 field的数量
7: 获取所有的 key hkeys key
8: 获取所有的values hvals key
4 存储list
1: 存储 lpush key values[values1 values2 ……] 插入成功返回元素个数(在头部插入)
2:在尾部插入 rpush key values[values1 values 2]
3:查看列表 lrange key start end (start end 从0开始)
4:两端弹出 lpop key 弹出返回头部 元素
rpop key 弹出返回尾部元素
5:获取元素个数
llen key
5 set (没有排序的字符集合)
1:添加 sadd key values 如果key中有,不会重复添加
2:删除指定的key srem key members
3 :获取set smembers key
后记
菜鸟的我写给自己,当做个笔记。
参考的博客
http://www.jb51.net/article/56448.htm