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服务器

通用命令

  1. keys pattern 模糊查询
  1. ”* :通配任意字符 keys *
  2. ? :通配一个字符
  3. [] : 通配里面任意个字符
  1. 删除 键 del key1 key2 …… 返回真正删除的key的数量(不存在的key不计算)
  2. rename key newkey 重命名 key(如果新名字存在 将会覆盖)
  3. renamenx key newkey 重命名key(修改成功返回1 ,为发生动作返回0)
  4. move key db 移动到新的db中 默认在db0 共有16个db
  5. select index 选择db (需要更多的数据库 修改 databases 的值)
  6. RANDOMKEY 随机返回一个 key
  7. exists key key2 key3 判读是否存在 返回存在的个数
  8. type key 返回存储的值类型
  9. ttl key 返回key的生命周期(秒是单位),-1表示永久存在 -2 表示 key不存在
  10. expire key 数值 以秒为单位设置生命周期
  11. pexpire pttl 以毫秒 设置 查看生命周期
  12. 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