You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@wink.apache.org by zhangpp <zh...@aceway.com.cn> on 2011/11/22 14:39:19 UTC

How can I cache the result?

Hi everybody!

I want to add cache function to the web services.It's my code

@GET
@Path("/bookCategory")
@Produces(MediaType.APPLICATION_XML)
public List<EBookCategory> bookCategory() {
List<EBookCategory> categorys=...get from db;
return categorys;
}

but I don't want just cache the db result,I want to cache the final result(the xml generate by wink),how can I do it?

I'm using memcached and Simple-Spring-Memcached to do it.

thanks!


2011-11-22 



zhangpp 

Re: How can I cache the result?

Posted by Serafin Sedano <se...@abiquo.com>.
Hi,

Take a look at Ehcache
http://ehcache.org/documentation/user-guide/web-caching

Regards.

Serafín.

2011/11/22 zhangpp <zh...@aceway.com.cn>

> **
> Hi everybody!
>
> I want to add cache function to the web services.It's my code
>
>  @GET
> @Path("/bookCategory")
> @Produces(MediaType.APPLICATION_XML)
> public List<EBookCategory> bookCategory() {
> List<EBookCategory> categorys=...get from db;
> return categorys;
> }
>
> but I don't want just cache the db result,I want to cache the final
> result(the xml generate by wink),how can I do it?
>
> I'm using memcached and Simple-Spring-Memcached to do it.
>
> thanks!
>
>
> 2011-11-22
> ------------------------------
> zhangpp
>



-- 
Serafín Sedano | Software Engineer | Abiquo |  | serafin.sedano@abiquo.com

Re: Re: How can I cache the result?

Posted by Nicholas Gallardo <ni...@yahoo.com>.
It's been a while since I tried to do this, but I'm assuming you need to be caching this not in Wink but in whatever HTTP/servlet container you're using.  So by caching in the container, you're avoiding a lot of the URI targeting/resource instantiation work.  It's possible some of this caching capability has been built into Wink since last I looked, but I didn't remember it being there.

I'm admittedly not the best at remembering the nuance of the various HTTP caching headers, but if you use the JAX-RS apis to set the appropriate lifetime for the resource, it's possible your container (or a proxy sitting in front of Wink) would see that and know what to do with it.  Just a thought...

-Nick




________________________________
 From: zhangpp <zh...@aceway.com.cn>
To: wink-user <wi...@incubator.apache.org> 
Sent: Tuesday, November 22, 2011 8:08 AM
Subject: Re: Re: How can I cache the result?
 

  
Thanks for replay.
But I konw the principle  of cache,and I 
konw I can use Ehcache  or 
memcached.
 
I want to use memcached.
 
@GET
@Path("/bookCategory")
@Produces(MediaType.APPLICATION_XML)
public List<EBookCategory> bookCategory() {
     //here I can add cache code
List<EBookCategory> categorys=getFromCache()==null?getFromDb():getFromCache();
return categorys;
}
 
this way I just cache the result from db,and I still waste my cpu on parse 
the object to xml,I want to cache the xml,but this is done by the wink.
How can I cache the result generate by wink?
 
2011-11-22 
________________________________
  
zhangpp 
________________________________
 
发件人: Serafin Sedano 
发送时间: 2011-11-22  21:57:07 
收件人: wink-user 
抄送: 
主题: Re: How can I cache the 
result?  
Hi, 

Take a look at Ehcache http://ehcache.org/documentation/user-guide/web-caching

Regards.

Serafín.


2011/11/22 zhangpp <zh...@aceway.com.cn>

 
>Hi everybody!
> 
>I want to add cache function to the web services.It's my code
> 
>@GET
>@Path("/bookCategory")
>@Produces(MediaType.APPLICATION_XML)
>public List<EBookCategory> bookCategory() {
>List<EBookCategory> categorys=...get  from db;
>return categorys;
>}
> 
>but I don't want just cache the db result,I want to cache the final  result(the xml generate by wink),how can I do it?
> 
>I'm using memcached and Simple-Spring-Memcached  to do it.
> 
>thanks!
> 
> 
>2011-11-22 
>________________________________
> 
>zhangpp 


-- 
Serafín 
Sedano | Software Engineer | Abiquo |  | serafin.sedano@abiquo.com

Re: Re: How can I cache the result?

Posted by zhangpp <zh...@aceway.com.cn>.
Thanks for replay.
But I konw the principle  of cache,and I konw I can use Ehcache  or memcached.

I want to use memcached.

@GET
@Path("/bookCategory")
@Produces(MediaType.APPLICATION_XML)
public List<EBookCategory> bookCategory() {
     //here I can add cache code
List<EBookCategory> categorys=getFromCache()==null?getFromDb():getFromCache();
return categorys;
}

this way I just cache the result from db,and I still waste my cpu on parse the object to xml,I want to cache the xml,but this is done by the wink.
How can I cache the result generate by wink?

2011-11-22 



zhangpp 



发件人: Serafin Sedano 
发送时间: 2011-11-22  21:57:07 
收件人: wink-user 
抄送: 
主题: Re: How can I cache the result? 
 
Hi,


Take a look at Ehcache http://ehcache.org/documentation/user-guide/web-caching


Regards.


Serafín.


2011/11/22 zhangpp <zh...@aceway.com.cn>

Hi everybody!

I want to add cache function to the web services.It's my code

@GET
@Path("/bookCategory")
@Produces(MediaType.APPLICATION_XML)
public List<EBookCategory> bookCategory() {
List<EBookCategory> categorys=...get from db;
return categorys;
}

but I don't want just cache the db result,I want to cache the final result(the xml generate by wink),how can I do it?

I'm using memcached and Simple-Spring-Memcached to do it.

thanks!


2011-11-22 



zhangpp 





-- 
Serafín Sedano | Software Engineer | Abiquo |  | serafin.sedano@abiquo.com