redis资料(持续更新)
1、redis windows下的环境搭建 转自:http://blog.csdn.net/wgw335363240/article/details/24469159
2、NoSQL数据库之Redis视频教程 : http://www.lampbrother.net/php/html/PHPvideo/NOSQL/
3、Redis快速入门 : http://www.yiibai.com/redis/redis_quick_guide.html
4、超强、超详细Redis数据库入门教程(来自脚本之家) : http://www.jb51.net/article/56448.htm
5、Redis 命令参考 : http://redisdoc.com/
6、Redis命令参考手册完整版 : http://wenku.baidu.com/link?url=zrCo_E9QGjkqedatc6YSq72HRKHVGUCfopBaRo-_Vpt3eidEVdok2AnEpbS-DMoM3uskOYlMswch2banjUyzDQDatc7Q6OKuoMm9o8kb-ey
7、Redis如何通过本机客户端访问远程服务器段 :http://blog.sina.com.cn/s/blog_4a552a740101kdfz.html
8、redis-cli 常用命令 : http://blog.csdn.net/yhhazr/article/details/8597815
9、Redis命令参考手册完整版 : http://wenku.baidu.com/link?url=zrCo_E9QGjkqedatc6YSq72HRKHVGUCfopBaRo-_Vpt3eidEVdok2AnEpbS-DMoM3uskOYlMswch2banjUyzDQDatc7Q6OKuoMm9o8kb-ey
1、Linux下Redis的安装与部署:
下载安装包:
wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz
步骤二:
编译源程序:
tar zxvf redis-2.4.17.tar.gz
cd redis-2.4.17
make
cd src && make install
2、redis-server 后台启动
daemonize no 改成 yes
3、查看redis是否启动,看端口
ps -ef | grep redis
4、redis默认端口 6379
查看端口是否被占用
netstat -tunpl | grep 6379
Strings 类型
5、Set 设置key对应的值为string类型的value
6、Setnx 设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思。
7、Setex 设置key对应的值为string类型的value,并指定此键值对应的有效期。
8、Setrange 设置指定key的value值的子字符串
setrange name 6 gmail.com
9、mset 一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
10、msetnx 一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key。
11、Get 获取key对应的string值,如果key不存在返回nil
12、getset 设置key的值,并返回key的旧值
13、getrange 获取key的value值的子字符串。
getrange name 0 5
14、mget 一次获取多个key的值,如果对应key不存在则对应返回nil。
15、incr 对key的值做加加操作,并返回新的值
16、incrby 同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0.
17、append 给指定key的字符串追加value,返回新字符串值的长度。
18、strlen 取指定key的value值的长度。
Hashes类型
hashes类型及操作
Redis hash 是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
19、hvals 返回hash的所有value
hvals myhash
20、hgetall 获取某个hash中全部的field及value
hgetall myhash
lists类型
lists类型及操作
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
21、lpush 在key对应list的头部添加字符串元素。
lpush mylist "world"
22、rpush 在key对应list的尾部添加字符串元素。
23、lrange mylist 0 -1
24、linsert 在key对应list的特定位置前或后添加字符串
linsert mylist before "word" "hello"
25、Lset 设置list中指定下标的元素值
lset mylist 0 “world”
26、lrem 从key对应list中删除n个和value相同的元素。(n<0从尾删除,n=0全部删除)
lrem mylist 1 "hello"
27、lpop 从list的头部删除元素,并返回删除元素。
lpop mylist
rpop mylist
PHP :array_pop 将数组的最后一个单元弹出
27、rpoplpush 从第一个list的尾部移除元素并添加到第二个list的头部。
上(l)是头 下(r)是尾
28、lindex 返回名称为key的list中index位置的元素
lindex mylist 1
29、 llen 返回key对应list的长度
sets类型
sets类型及操作
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sorted sets 类型
sorted sets 类型及操作
sorted set 是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。