最近自己学习redis,把学习过程中的一些细节整理了一下:
redis 安装: 默认端口是6379
# cd /usr/local/src
# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
#tar zxvf redis-3.0.7.tar.gz
# cd redis-3.0.7/
#ls
redis目录的文件
#make ##redis的源码默认是./configure 所以可以直接安装,不用担心路径问题,redis 提供了相关的支持,在make install 的时候指定PREFIX=/usr/local/redis 即可。注意PREFIX 一定是大写
*make 完成后提示 Hint: It’s a good idea to run ‘make test’ ;) 最好make test 一下
#make test
* 提示如下,需要安装tcl
cd src && make test
make[1]: Entering directory /usr/local/src/redis-3.0.7/src'
/usr/local/src/redis-3.0.7/src’
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory
make: * [test] Error 2
[root@localhost redis-3.0.7]#
*
#yum install tcl ## 此处用yum 源安装的
#make test ##
…
#make PREFIX=/usr/local/redis install
…
redis 启动服务和客户端:
首先拷贝配置文件到安装目录下:
#cd /usr/local/src/redis
#cp redis.conf /usr/local/redis
#./bin/redis-server ./redis.conf : 启动成功 默认是控制台显示启动信息的,如果需要改成后台启动需要改动配置为那文件(redis.conf 文件的daemonize 为yes )
#./bin/redis-cli 启动客户端
#ps -ef |grep redis (显示如下信息, redis 启动成功
[kssadmin@localhost redis]$ ./bin/redis-cli
127.0.0.1:6379> keys *
(empty list or set))
#kssadmin 19922 1 0 20:12 ? 00:00:00 ./bin/redis-server *:6379
#kssadmin 19931 19696 0 20:12 pts/0 00:00:00 grep --color=auto redis
***redis 类型支持:***
set key value /get key 设置、获取 字符串 mset key1 values1
key2 value2 key3 values3
flushdb :清空数据库 清空当前所指向的数据库实例 如 0 ,1 ,2 默认的是 0
ex/px 》》 秒/毫秒 毫秒的情况下更精确的看到值得过期时间
nx/xx >> 不存在设置/存在设置 :分别是根据key是否存在的情况下 来设置键值对
set key value [ex 秒数] || [px 毫秒数] /[nx 不存在的时候才设置] |[xx 当键存在的情况下才更新]
set site www.baidu.com ex 10 nx ://设置 site的值为 www.baidu.com 过期时间为10 S nx :指现有库中不存在site的时候才设置当前的site值
set site www.baidu.com px 10000 nx :与上面基本一样,只是用毫秒来设置的
set site www.baidu.com ex 10 xx :当库中存在的时候才设置当前site节点的值,value为www.baidu.com 过期时间为10 秒,
set site www.baidu.com ps 10000 xx : 与上面类似,当库中存在的时候才设置site节点的是,value为www.baidu.com 过期时间为10000毫秒 //
mset /mget : 多键值对操作 一次性设置多个 和一次性获取多个
m==muilt 多个的意思
mset key value key value key value : 设置多个键值对
mset name seven age 26 sex 1 :一次性设置多个键值对 名称 年龄 性别
mget name age sex : 根据key 一次性获取逗哥value 名称 年龄 性别
setrange key index value :替换目标key所对应的值,从索引index开始,替换内容以此递归为 value 的内容 *** 如果index 超出key对应value 的长度用0x00来补全,以此替换 代码如下:
127.0.0.1:6379> set word hello
OK
127.0.0.1:6379> get word
"hello"
127.0.0.1:6379> setrange word 9 xxxx
(integer) 13
127.0.0.1:6379> get word
"hello\x00\x00\x00\x00xxxx"
append key value : 追加内容到key 对应的value 的最后面
getrange key start stop : 获取目标key 对应value的一段内容 其实坐标start 终止坐标为stop : 当stop获取内容坐标过大的时候 即获取全部内容位置 不额外增加内容
注意:
1: start>=length, 则返回空字符串
2: stop>=length,则截取至字符结尾
3: 如果start 所处位置在stop右边, 返回空字符串
incr /decr key : 递增和递减
set age 30
incr age :31
decr age :30
incrby/decrby key number : 按照给定number来递增和递减
incrby/decrby age 30:按照给定的数字来增减
incrbyfloat key number
list :列表
set :无序的集合
order set :有序的集合
hash : hash
继续学习,后续补充。。