redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理.
wget http://download.redis.io/releases/redis-5.0.4.tar.gztar xzf redis-5.0.4.tar.gzcd redis-5.0.4make缺少make包, 则需要通过
sudo apt-get install make安装
make报错
/bin/sh: cc: command not found缺少gcc包, 通过sudo apt-get install gcc
如果报错
fatal error: jemalloc/jemalloc.h: No such file or directory则使用make MALLOC=libc编译
可以使用命令
make test测试. 报错You need tcl 8.5 or newer in order to run the Redis test则需要安装tcl包.
安装方法如下:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz  
sudo tar xzvf tcl8.6.1-src.tar.gz  -C /usr/local/  
cd  /usr/local/tcl8.6.1/unix/  
sudo ./configure  
sudo make  
sudo make install   安装完成后运行make test命令成功.
make install PREFIX=/mnt/d/redis 注意添加配置文件sh /redis-server ../conf/redis.confredis.conf文件的daemonize=yessh /redis-cli -h 192.168.1.123 -p 6379配置文件中的
bind用来绑定服务端的ip, 为了安全,默认不允许外网访问
默认保护模式protect-mode=yes
默认支持16个数据库, databases=16, 默认使用的是DB 0 . redis数据库不支持自定义名称, 且不能单独做授权, 各个数据库之间并非完全隔离. flushall命令可以清空redis中所有的数据.
select 3 转到索引为3的数据库
keys prifix* 查找到所有开头为prifix的键, pattern可以使用[? * [] ]匹配EXISTS key 是否存keytype key 获取数据结构key的最大存储为512M.
set key value 比较重要的setnxget keyincr key 递增值 incrby key [step] 递增指定的stepstrlen key 获得长度mget key1 key2 key3 批量获取多个key的值set key1 value1 key2 value2 批量设置多个键值key的设计可以参看阿里的规范, 例如
业务名:表名:id
lpush key value 左边push数据,对应的是rpushlpop key 获取数据, 同时数据被移除,对应的是rpopllen key 列表长度lrange key start stop 获取片段, start=-1 表示从头,stop=-1表示到结尾lrem key count value 删除lset key index value 设置索引的值不支持数据类型嵌套, 比如hash中存储一个list.
hset key field value 设置hget key field 获取hmset key field1 value1 field2 value2 设置多个值hmget key field1 field2hgetall key 获取全部信息, 包括key,valuehexists key field 判断是否存在hincrybyhsetnxhdel key field 删除一个或多个字段和list相比, 不能有重复元素, 且是无序的
sadd key member... 设置一个或多个元素, 返回增加的数量smembers key 获取元素sdiff key1 key2 差集计算sunion key1 key2 并集计算zadd key score member 增加元素zrange key start stop withscores 获取片段 withscores 用来获取分数可以用来做排名统计.
比较鸡肋, 不建议使用, 有时候不能回滚
multi 开启事务;
set get...等操作为具体的事务操作
exec 提交事务
expire key timeout 设置超时时间
ttl key 获得key过期时间
publish channel message
subscribe channel
可使用setnx实现.
原文:https://www.cnblogs.com/walkinhalo/p/10704721.html