设为首页 收藏本站
查看: 978|回复: 0

[经验分享] redis学习笔记

[复制链接]

尚未签到

发表于 2015-7-22 08:55:55 | 显示全部楼层 |阅读模式
  参考:http://hi.baidu.com/lhuylaqqqjdqwxe/item/49839c0aa3a4ade1f45ba6ef


一 安装



$ wget http://redis.googlecode.com/files/redis-2.2.12.tar.gz
$cd /root/redis-2.2.12/src
$make PREFIX=/usr/local/redis
$make test
$root@yee:~/redis-2.6.2/src# make test
You need 'tclsh8.5' in order to run the Redis test
make: *** [test] Error 1
  
  
需要安装tcl :




$apt-get install tcl8.5
$make PREFIX=/usr/local/redis install
  二 redis配置:




$cd /usr/local/redis/
$mkdir {etc,var}
$cp ~/redis-2.6.2/redis.conf  ./etc/
  
下面启动redis服务.




$./redis-server
  注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动.




$ ./redis-server redis.conf
  redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了.
比如




ubuntu@yee:~$ cd /usr/local/redis/
ubuntu@yee:/usr/local/redis$ ls
bin  etc  var
ubuntu@yee:/usr/local/redis$ bin/redis-cli
redis 127.0.0.1:6379> set foo bar
OK
redis 127.0.0.1:6379> get foo
"bar"
  三、redis 的一些基本指令学习
  3.1 redis pipeline
  pipeline 将多个redis命令打包在一块,发送给服务器,服务器再逐条执行命令,打包执行结果一并返回。
  假如在普通的模式下,client 发送一条命令给服务器,服务器返回一条结果给client,如果网络延迟是0.2s,那么大概1s也就只能处理5条命令,这并不能充分利用到redis的能力 。



>>> pipeline = r.pipeline()
>>> pipeline.rpush('chat','one')

>>> pipeline.rpush('chat','two')

>>> pipeline.execute()
[1L, 2L]
>>> r.lrange('chat',0,-1)
['one', 'two']
>>>
  四 python 操作redis 学习:




easy_install redis
>>> import redis
>>> r = redis.Redis(host='localhost',port=6379,db=0)
>>> r.set('foo','bar')
True
>>> r.get('foo')
'bar'
>>> r.delete('foo')
True
>>> r.dbsize()
0L

>>> r.rpush('ml','aa')
1L
>>> r.rpush('ml','bb')
2L
>>> r.rpush('ml','cc')
3L
>>> r.rpush('ml','dd')
4L
>>> r.lrange('ml',0,-1)
['aa', 'ad', 'cc', 'dd']
INCR :自增变量
>>> room_id  = rc.incr("KEY")
>>> room_id
1
>>> room_id  = rc.incr("KEY")
>>> room_id
2
redis keys 还接受正则表达式:
如:
redis 127.0.0.1:6379> mset one 1 two 2 three 3
OK
redis 127.0.0.1:6379> keys *o*
1) "one"
2) "two"
redis zadd :adds all specified members with the  specified scores to the sorted set at key .
Time complexity : O(log(N))
redis 127.0.0.1:6379> zadd myset 1 "one"
(integer) 1
redis 127.0.0.1:6379> zadd myset 1 "uno"
(integer) 1
redis 127.0.0.1:6379> zadd myset 2 "two"
redis 127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "uno"
3) "two"
redis 127.0.0.1:6379> zrange myset 0 -1 withscores
1) "one"
2) "1"
3) "uno"
4) "1"
5) "two"
6) "2"
redis 127.0.0.1:6379> zadd myset 1 "three"
(integer) 1
redis 127.0.0.1:6379> zrange myset  0 -1
1) "one"
2) "three"
3) "uno"
4) "two"
redis 127.0.0.1:6379> zrange myset 0 -1 withscores
1) "one"
2) "1"
3) "three"
4) "1"
5) "uno"
6) "1"
7) "two"
8) "2"
  添加 删除使用方法 :



>>> rc.zadd("online23","user1",2)
1
>>> rc.zadd("online23","user2",3)
1
>>> rc.zadd("online23","user3",3)
1
>>> rc.zrange("online23",0,-1)
['user1', 'user2','user3']
>>> rc.zrem("online23","user3")
True
>>> rc.zrange("online23",0,-1)
['user1', 'user2']
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-89305-1-1.html 上篇帖子: Redis和Memcache的区别分析 [转] 下篇帖子: redis介绍及主从配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表